Instalación de ChartDB en Debian 13

chartdb

¿Qué es ChartDB?

ChartDB es un editor visual de diagramas de bases de datos de código abierto. Nos permite dibujar y documentar el modelo entidad-relación (tablas, columnas, claves y relaciones) desde el navegador, con la particularidad de que puede importar el esquema de una base de datos existente ejecutando una única consulta: pegamos el resultado y ChartDB genera el diagrama automáticamente. Soporta PostgreSQL, MySQL/MariaDB, SQL Server, SQLite y otros motores, y permite exportar el diseño de vuelta a SQL.

En este tutorial vamos a instalar ChartDB sobre Debian 13 utilizando Docker.

Requisitos

  • Debian 13 instalado y actualizado.
  • Un puerto libre en el host para la interfaz web (usaremos el 8080).
  • Privilegios de sudo o root.

Instalar Docker

Añadimos el repositorio oficial de Docker e instalamos el motor con el plugin de Compose:

root@chartdb:~# apt update
root@chartdb:~# apt install -y ca-certificates curl
root@chartdb:~# install -m 0755 -d /etc/apt/keyrings
root@chartdb:~# curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
root@chartdb:~# chmod a+r /etc/apt/keyrings/docker.asc
root@chartdb:~# echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian trixie stable" > /etc/apt/sources.list.d/docker.list
root@chartdb:~# apt update
root@chartdb:~# apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
root@chartdb:~# systemctl enable --now docker

Desplegar ChartDB

Creamos un directorio y un fichero docker-compose.yml:

root@chartdb:~# mkdir -p /opt/chartdb && cd /opt/chartdb
services:
  chartdb:
    image: 'ghcr.io/chartdb/chartdb:latest'
    container_name: chartdb
    restart: unless-stopped
    ports:
      - '8080:80'

ChartDB funciona por completo en el navegador y guarda los diagramas en el almacenamiento local del propio navegador, por lo que para un uso básico no necesita base de datos ni volúmenes.

Nota: ChartDB ofrece una función opcional de importación asistida por IA que requiere una clave de API de un proveedor LLM (por ejemplo, mediante la variable de entorno OPENAI_API_KEY). No es necesaria: podemos importar el esquema pegando el resultado de la consulta de forma manual. En este tutorial la omitimos.

Levantamos el contenedor:

root@chartdb:/opt/chartdb# docker compose up -d
root@chartdb:/opt/chartdb# docker compose ps

Acceso a la aplicación

Abrimos en el navegador http://10.10.10.15:8080. ChartDB nos ofrece empezar un diagrama nuevo o importar el de una base de datos existente.

chartdb-home

Si elegimos importar, seleccionamos el motor (PostgreSQL, MySQL/MariaDB, etc.) y la aplicación nos muestra una consulta que debemos ejecutar en nuestra base de datos. Copiamos su resultado, lo pegamos en el cuadro y pulsamos en importar.

chartdb-importar

ChartDB genera el diagrama entidad-relación con todas las tablas, columnas y relaciones, que ya podemos reorganizar, editar y exportar.

chartdb-diagrama

Si queremos publicarla con un nombre de dominio y HTTPS, podemos situarla detrás de un proxy inverso como Nginx Proxy Manager apuntando a 10.10.10.15:8080.

Mantenimiento

Para actualizar ChartDB descargamos la nueva imagen y recreamos el contenedor:

root@chartdb:/opt/chartdb# docker compose pull
root@chartdb:/opt/chartdb# docker compose up -d

Y con esto ya hemos terminado la instalación de ChartDB en Debian 13, con nuestra herramienta para diseñar y documentar esquemas de bases de datos autoalojada.