Cómo instalar Metabase en Ubuntu 22.04 LTS

En este tutorial, le mostraremos cómo instalar Metabase en Ubuntu 22.04 LTS. Para aquellos de ustedes que no lo sabían, Metabase es una plataforma de análisis e inteligencia comercial de código abierto que permite a los usuarios crear y compartir fácilmente tableros e informes interactivos, puede conectarse a una variedad de fuentes de datos y arrastrar y La interfaz drop facilita a los usuarios no técnicos la creación de cuadros, gráficos e informes, también ofrece una amplia gama de opciones de personalización, tiene una función de almacenamiento de datos integrada y puede manejar big data con la ayuda de soluciones de almacenamiento de datos externas. como Amazon Redshift y Google BigQuery.

Este artículo asume que tiene al menos un conocimiento básico de Linux, sabe cómo usar el shell y, lo que es más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y se supone que está ejecutando en la cuenta raíz, si no, es posible que deba agregar ‘ sudo ‘ a los comandos para obtener privilegios de root. Te mostraré la instalación paso a paso de Metabase con Docker. Puede seguir las mismas instrucciones para Ubuntu 22.04 y cualquier otra distribución basada en Debian como Linux Mint, Elementary OS, Pop!_OS y más.

requisitos previos

  • Un servidor que ejecuta uno de los siguientes sistemas operativos: Ubuntu 22.04, 20.04 y cualquier otra distribución basada en Debian como Linux Mint.
  • Se recomienda que utilice una instalación de sistema operativo nueva para evitar posibles problemas.
  • Acceso SSH al servidor (o simplemente abra la Terminal si está en una computadora de escritorio).
  • Una conexión a Internet activa. Necesitará una conexión a Internet para descargar los paquetes y dependencias necesarios para Metabase.
  • A non-root sudo user o acceder a la root user . Recomendamos actuar como un non-root sudo user sin embargo, puede dañar su sistema si no tiene cuidado al actuar como root.

Instale Metabase en Ubuntu 22.04 LTS Jammy Jellyfish

Paso 1. Primero, asegúrese de que todos los paquetes de su sistema estén actualizados ejecutando lo siguiente apt Comandos en la terminal.

                      sudo apt update
sudo apt upgrade
                    

Paso 2. Instalación de Docker.

De forma predeterminada, Docker no está disponible en el repositorio base de Ubuntu 22.04. Ahora ejecute el siguiente comando a continuación para agregar el repositorio de Docker al sistema:

                      echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
                    

A continuación, importe la clave GPG a su sistema:

                      curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
                    

Después de que el repositorio esté habilitado, ahora instale la última versión del paquete Docker usando el siguiente comando:

                      sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
                    

Puede verificar que Docker está instalado y sobre la versión actual:

                      docker -v
                    

Después de instalarlo correctamente, habilite Docker (para que se inicie automáticamente al iniciar el sistema), inicie y verifique el estado con los siguientes comandos:

                      sudo systemctl enable docker
sudo systemctl start docker
sudo systemctl status docker
                    

De forma predeterminada, Docker requiere privilegios de root. Si desea evitar el uso sudo cada vez que ejecutas el docker comando, agregue su nombre de usuario al docker grupo:

                      sudo usermod -aG docker $(whoami)
su - ${USER}
                    

Confirme que su usuario está agregado al grupo de Docker:

                      groups
                    

Para obtener recursos adicionales sobre la instalación y administración de Docker, lea la publicación a continuación:

  • Cómo instalar Docker en Ubuntu Linux √

Paso 3. Cree el archivo Docker Compose para Metabase.

Primero, cree un directorio para la configuración de Metabase:

                      mkdir metabase
cd metabase
                    

A continuación, cree y abra el archivo de redacción de Docker con su editor de texto favorito:

                      nano docker-compose.yml
                    

Agregue el siguiente archivo:

                      version: '3.9'
services:
  metabase:
    image: metabase/metabase:latest
    container_name: metabase
    hostname: metabase
    volumes:
    - /dev/urandom:/dev/random:ro
    ports:
      - 3000:3000
    environment:
      MB_DB_TYPE: postgres
      MB_DB_DBNAME: metabase
      MB_DB_PORT: 5432
      MB_DB_USER_FILE: /run/secrets/db_user
      MB_DB_PASS_FILE: /run/secrets/db_password
      MB_DB_HOST: postgres
    env_file:
      - metabase.env
    healthcheck:
      test: curl --fail -I https://localhost:3000/api/health || exit 1
      interval: 15s
      retries: 5
      start_period: 10s
      timeout: 5s
    networks:
      - metanet1
    depends_on:
      - postgres
    secrets:
      - db_password
      - db_user
  postgres:
    image: postgres:latest
    container_name: postgres
    hostname: postgres
    environment:
      POSTGRES_USER_FILE: /run/secrets/db_user
      POSTGRES_DB: metabase
      POSTGRES_PASSWORD_FILE: /run/secrets/db_password
    healthcheck:
      test: ['CMD', 'pg_isready', '-U', 'postgres']
    volumes:
      - ./postgresql:/var/lib/postgresql/data
    networks:
      - metanet1
    secrets:
      - db_password
      - db_user
networks:
  metanet1:
    driver: bridge
secrets:
   db_password:
     file: db_password.txt
   db_user:
     file: db_user.txt
                    

Guardar y close el archivo. El nombre de usuario y la contraseña de la base de datos PostgreSQL se almacenan en los archivos db_user.txt y db_password.txt archivos respectivamente.

Luego creamos y abrimos el db_user.txt archivo para editar:

                      nano db_user.txt
                    

A continuación, cree y abra el db_password.txt archivo para editar:

                      nano db_password.txt
                    

Paso 4. Configure la metabase de archivos de entorno.

Primero, generamos una clave de cifrado usando el siguiente comando a continuación:

                      openssl rand -base64 32
                    

A continuación, cree y abra el metabase.env archivo para editar:

                      nano metabase.env
                    

Añádele el siguiente código. Pegue la clave secreta que generó contra el MB_ENCRYPTION_SECRET_KEY variable. Complete su dominio Metabase, incluido el protocolo HTTPS. Rellene sus datos SMTP con el proveedor que utilice. Estamos utilizando Amazon SES. Él MB_PASSWORD_COMPLEXITY la variable está configurada como fuerte, lo que significa que su contraseña de Metabase:

                      MB_SITE_URL=https://your-domain.com
MB_SITE_NAME="Howtoforge"

[email protected]
[email protected]
MB_EMAIL_FROM_NAME=idroot
MB_EMAIL_SMTP_HOST=email-smtp.us-west-2.amazonaws.com
MB_EMAIL_SMTP_USERNAME=AWS_USERID
MB_EMAIL_SMTP_PASSWORD=AWS_KEY
MB_EMAIL_SMTP_PORT=587
MB_EMAIL_SMTP_SECURITY=starttls

MB_ENCRYPTION_SECRET_KEY=QWPbmwNvWYVqR5Ne46dk0OvTH1xWGDt=
MB_ANON_TRACKING_ENABLED=false
MB_APPLICATION_NAME=Howtoforge Metabase
MB_PASSWORD_COMPLEXITY=strong
                    

Una vez que todos nuestros archivos de configuración estén completos, es hora de iniciar y ejecutar los contenedores:

                      docker compose up -d
                    

Puede ver el estado de los contenedores usando el siguiente comando a continuación:

                      watch docker ps
                    

Paso 5. Instalar Nginx

De forma predeterminada, Nginx está disponible en el repositorio base de Ubuntu 22.04. Ahora ejecute el siguiente comando a continuación para instalar la última versión de Nginx en su sistema Ubuntu:

                      sudo apt install nginx
                    

Después de una instalación exitosa, habilite Nginx (para que se inicie automáticamente al iniciar el sistema), inicie y verifique el estado con los siguientes comandos:

                      sudo systemctl enable nginx
sudo systemctl start nginx
sudo systemctl status nginx
                    

Confirme la instalación y verifique la versión de compilación instalada de Nginx:

                      nginx -v
                    

Ahora crea vhost y abre el archivo. /etc/nginx/conf.d/metabase.conf :

                      nano /etc/nginx/conf.d/metabase.conf
                    

Agregue el siguiente archivo:

                      server {
  # Redirect any http requests to https
  listen         80;
  listen         [::]:80;
  server_name    your-domain.com;
  return 301     https://$host$request_uri;
}

server {
  listen                    443 ssl http2;
  listen                    [::]:443 ssl http2;
  server_name               your-domain.com.com;

  access_log                /var/log/nginx/metabase.access.log;
  error_log                 /var/log/nginx/metabase.error.log;

  location / {
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-Proto $scheme;
    proxy_set_header	    X-Forwarded-Host $http_host;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass              https://127.0.0.1:3000;
  }
}
                    

Guardar y close el archivo luego, reinicie el servicio Nginx con el siguiente comando:

                      nginx -t
sudo systemctl restart nginx
                    

Para obtener recursos adicionales sobre la instalación de Nginx, lea la publicación a continuación:

  • Cómo instalar Nginx en Ubuntu Linux √

Paso 6. Metabase segura con Let’s Encrypt SSL.

Primero, instale el cliente Certbot usando el siguiente comando a continuación:

                      sudo apt install certbot python3-certbot-nginx
                    

A continuación, obtenga su certificado SSL con Let’s Encrypt siguiendo estos pasos:

                      certbot --apache -d your-domain.com
                    

Let’s Encrypt los certificados tienen 90 días de validez, siendo muy recomendable renovar los certificados antes de que caduquen. Puede probar la renovación automática de sus certificados ejecutando este comando:

                      sudo certbot renew --dry-run
                    

Paso 7. Configure el cortafuegos.

Ubuntu 22.04 tiene ufw un cortafuegos que se ejecuta de forma predeterminada. Habilitar conexión a través de puertos 80 HTTP y 443 HTTPS:

                      sudo ufw allow 'Nginx FULL'
sudo ufw enable
sudo ufw status
                    

Paso 8. Acceso a la interfaz web de la metabase.

Una vez que se haya instalado correctamente, abra su navegador web y acceda a la interfaz de usuario web de Metabase utilizando la URL https://your-domain.com . Será redirigido a la siguiente página:

¡Felicidades! Ha instalado correctamente Metabase. Gracias por usar este tutorial para instalar Metabase con Docker Compose en el sistema Ubuntu. Para obtener ayuda adicional o información útil, le recomendamos que consulte el sitio web oficial de Metabase .

Related Posts