Por qué autoalojar sus paneles de BI
Las herramientas de BI alojadas son cómodas… hasta que llega la factura por usuario, y hasta que usted cae en la cuenta de que sus datos de producto, de ingresos y de clientes están copiados en un SaaS de terceros facturado en dólares. Metabase da la vuelta a la situación: es open source (AGPL), autoalojable y se conecta a una base de datos que ya le pertenece. Ejecútelo en un VPS detrás de su propio dominio y su capa analítica nunca saldrá de su servidor. Usted paga un coste mensual fijo por el VPS, no una suscripción por usuario que se infla, y sus datos permanecen en una infraestructura que usted controla, lo que para un equipo marroquí significa además soberanía de los datos, no un centro de datos en otro continente.
Lo que le aporta Metabase
- Un constructor de consultas visual para que los usuarios no técnicos creen gráficos y preguntas con unos clics, con un editor SQL completo para los analistas.
- Paneles interactivos con filtros, exploración detallada (drill-through) y actualización programada.
- Conectores para más de 20 bases de datos: PostgreSQL, MySQL/MariaDB, SQL Server, ClickHouse, BigQuery, Redshift, Snowflake y más.
- Suscripciones programadas y alertas de umbral enviadas por correo electrónico o Slack.
- Permisos por grupos y por colecciones, además de controles por fila y por columna, para que cada equipo vea únicamente sus propios datos.
- Analítica embebida para integrar paneles firmados y filtrados directamente en su propia aplicación.
- Open source bajo AGPL: sin coste por usuario, con su propio estado almacenado en una base de datos Postgres que le pertenece.
Requisitos previos
Un VPS con Ubuntu 22.04 (o Debian 12) y Docker instalado. Metabase se ejecuta sobre la JVM, así que déle margen: 2 GB de RAM es el mínimo realista y 4 GB resulta cómodo para un equipo pequeño. El despliegue se compone de dos contenedores: el propio Metabase y un postgres:16 complementario que almacena los metadatos propios de Metabase (usuarios, paneles, preguntas guardadas). No hace falta ningún dominio —Metabase responde en el puerto 3000 a través de la IP de su servidor—, pero querrá un reverse proxy para el HTTPS en producción.
Desplegar Metabase en su VPS
Crear una pila docker-compose
Metabase debe almacenar su propio estado en una base de datos real, no en el archivo H2 embebido por defecto. Cree un
docker-compose.ymlcon dos servicios:metabase/metabase:v0.62.3.6y unpostgres:16complementario. Conecte Metabase a Postgres conMB_DB_TYPE=postgres,MB_DB_HOST=metabase-db,MB_DB_DBNAME=metabaseappdb,MB_DB_PORT=5432,MB_DB_USER=metabasey unMB_DB_PASSrobusto. Use la misma contraseña para elPOSTGRES_PASSWORDdel contenedor Postgres, monte un volumen con nombre en/var/lib/postgresql/datay definarestart: unless-stoppeden ambos.Levantar la pila y esperar el arranque
Ejecute
docker compose up -d. En el primer arranque, Metabase ejecuta sus migraciones de base de datos sobre Postgres, lo que tarda de 60 a 120 segundos en un VPS pequeño: es normal. Sondee la disponibilidad concurl -f http://localhost:3000/api/health; en cuanto devuelva{"status":"ok"}, la aplicación está lista. La pila compose condiciona Metabase al healthcheck de Postgres, de modo que la aplicación nunca arranca antes de que su base de datos esté lista.Completar el asistente de configuración
Abra
http://<your-server-ip>:3000. Metabase redirige al asistente de configuración: cree la cuenta de administrador y, a continuación, conecte la base de datos que realmente quiere analizar, por lo general el PostgreSQL o el MySQL de su aplicación, idealmente una réplica de lectura para que las consultas analíticas nunca toquen su base primaria de producción. Metabase escanea el esquema y sus tablas quedan consultables en unos segundos.Construir un panel
Cree dos o tres preguntas con el constructor de consultas visual (un recuento en el tiempo, un reparto por categoría), guárdelas en una colección y fíjelas en un panel dotado de un filtro por fecha. Cambie cualquier pregunta al editor SQL nativo cuando necesite un control total. Configure una suscripción por correo electrónico o Slack para recibir el panel a intervalos regulares.
Añadir HTTPS y blindar el acceso
Coloque Metabase detrás de un reverse proxy para obtener un dominio real y un certificado. Con Caddy:
apt install caddy, luego un/etc/caddy/Caddyfileque contengabi.su-dominio.com { reverse_proxy localhost:3000 }ysystemctl reload caddypara un certificado Let’s Encrypt automático. Antes, apunte el registro DNS A debi.su-dominio.coma su VPS, restrinja el puerto 3000 conufw allow from <proxy> to any port 3000y defina una contraseña de administrador robusta: cualquiera que logre iniciar sesión puede consultar todas las bases de datos conectadas.Conectarse por primera vez
Abra la dirección justo después de la instalación: Metabase muestra una pantalla de bienvenida y luego «Let’s get started», y le crea una cuenta a partir de su nombre, su correo electrónico y la contraseña que elija; esa primera cuenta es automáticamente administradora.
Apunte Metabase a una réplica de lectura, no a su base primaria
Las consultas analíticas pueden ser pesadas. Conecte Metabase a una réplica de lectura o a una base de reporting dedicada en lugar de a su base primaria de producción; así una consulta de panel lenta nunca ralentizará su aplicación en producción. En un solo VPS, puede ejecutar una réplica ligera en su propio contenedor dentro de la misma red Docker privada: Metabase la alcanza por su nombre de servicio y su base primaria queda intacta.