LinkedIn

Self-Hosted Metabase su piattaforma Linux/ARM64 e Docker

Avviare un container Metabase attraverso Docker e Build di un'immagine per piattaforma ARM64 attraverso Dockerfile custom

Self-Hosted Metabase su  piattaforma Linux/ARM64 e Docker

Panoramica su Metabase

Metabase è una piattaforma open source per l'analisi dei dati e la creazione di report. Con Metabase, gli utenti possono creare facilmente dashboard e visualizzazioni dei dati, senza la necessità di scrivere codice o avere conoscenze avanzate in materia di database.

Metabase Open Source Editions
Metabase Open Source edition ships either as a Docker image or a standalone JAR.

Immagine standard per Self-Hosted Docker di Metabase Open Source Edition

Nella documentazione ufficiale sono descritti i passi per avviare velocemente una istanza docker con le immagini ufficiali di Metabase

Running Metabase on Docker
Running Metabase on Docker Metabase provides an official Docker image via Dockerhub that can be used for deployments on any system that is running Docker. If you’re trying to upgrade your Metabase version on Docker, check out these upgrading instructions....

Per eseguire Metabase su Docker, è necessario prima assicurarsi di avere Docker installato sul proprio sistema. Una volta installato Docker, è possibile scaricare l'immagine ufficiale di Metabase da Docker Hub con il seguente comando:

docker pull metabase/metabase:latest

Una volta scaricata l'immagine, è possibile utilizzare il comando docker run per avviare un container di Metabase utilizzando l'immagine appena scaricata. Ecco un esempio di come avviare un container di Metabase utilizzando il comando docker run:

docker run -d -p 3000:3000 --name my-metabase metabase/metabase

Questo comando avvierà un container di Metabase in modalità detached (-d) e lo mapperà alla porta 3000 del sistema host (-p 3000:3000). È inoltre possibile assegnare un nome al container con l'opzione --name.

Una volta avviato il container, sarà possibile accedere all'interfaccia di amministrazione di Metabase tramite il browser all'indirizzo http://localhost:3000.

Infine, sarà possibile seguire la procedura guidata di configurazione iniziale di Metabase per completare l'installazione.

Custom Dockerfile per piattaforma ARM64

Alcuni servizi Cloud utilizzano piattaforme Ampere, una famiglia di processori basati sull'architettura ARM64 V8 sviluppata da Ampere Computing.

I processori Ampere sono noti per le loro prestazioni elevate e l'efficienza energetica, e sono stati utilizzati in molti sistemi di computing di alto livello come le istanze OCI Cloud Free Tier

Accedi ai servizi cloud gratuitamente
Oracle Cloud Free Tier offre alle aziende Always Free Cloud Services che possono essere utilizzati per un tempo illimitato.

Sfortunatamente l'immagine ufficiale di Metabase non é ancora rilasciata con una immagine compatibile con le piattaforma ARM64 ma sará possibile comunque comunque eseguire un'istanza Metabase sui processori ARM64 attraverso un custom Dockerfile cosi composto:

FROM ubuntu

ENV FC_LANG en-US LC_CTYPE en_US.UTF-8

# dependencies
RUN apt-get update 

RUN apt-get install -yq bash fonts-dejavu-core fonts-dejavu-extra fontconfig curl openjdk-11-jre-headless 

RUN apt-get clean 

RUN rm -rf /var/lib/{apt,dpkg,cache,log}/ && \
    mkdir -p /app/certs && \
    mkdir -p /plugins && chmod a+rwx /plugins && \
    useradd --shell /bin/bash metabase


WORKDIR /app

# copy app from the offical image
COPY --from=metabase/metabase:latest /app /app

RUN chown -R metabase /app

USER metabase
# expose our default runtime port
EXPOSE 3000

# run it
ENTRYPOINT ["/app/run_metabase.sh"]

Per eseguire Metabase su Piattaforma ARM, è necessario prima effettuare il Build dell'immagine di Metabase con il seguente comando:

docker build -t metabase-custom:latest .

Una volta effettuato il build dell'immagine, è possibile utilizzare il comando docker run per avviare un container di Metabase utilizzando l'immagine appena compilata. Per avviare il container utilizzando il comando docker run:

docker run -d -p 3000:3000 --name my-metabase metabase-custom:latest

Come per la versione ufficiale questo comando avvierà un container di Metabase per ARM64 in modalità detached (-d) e lo mapperà alla porta 3000 del sistema host (-p 3000:3000).

Discussione