Ir al contenido

Docker Compose

basedb se publica en una sola imagen, eodia/basedb, para amd64 y arm64. El docker-compose.yml del repositorio la combina con PostgreSQL. Toda la configuración pasa por un archivo .env (consulta Variables de entorno).

Contiene los tres procesos de basedb y los sirve en un solo puerto, el 3000:

RutaProceso
/api/*, /auth/*, /healthzla API REST, el inicio de sesión, las tareas en segundo plano
/mcpel servidor MCP, para los agentes
todo lo demás: /, /f/…, /v/…la interfaz

Al arrancar, la API va primero: sobre una base de datos vacía, aplica el catálogo y crea el primer administrador; en los arranques siguientes, ambas cosas no tienen efecto. El servidor MCP arranca en cuanto ella responde. Si uno de los procesos se detiene, se detiene el contenedor entero, y la política de reinicio lo vuelve a lanzar entero.

La imagen se ejecuta con el usuario node, sobre Node 22, y declara una comprobación de estado (/healthz) y un volumen, /data, para los archivos de los campos Archivo e Imagen.

EtiquetaContenido
latestla última versión publicada
0.7la última versión 0.7.x
0.7.1exactamente esa versión
ServicioImagenPuerto (en 127.0.0.1)Volumen
dbpostgres:16-alpine5432db-data
basedbeodia/basedb3000files → /data
proxy (opcional)caddy:2-alpine80, 443caddy-data, caddy-config
Ventana de terminal
docker compose up -d # descargar la imagen y arrancar
docker compose logs -f basedb # seguir basedb (contraseña de admin en el primer arranque)
docker compose ps # estado y salud de los servicios
docker compose restart basedb # reiniciar basedb
docker compose down # detener (los volúmenes se conservan)

Desde un clon del repositorio, docker compose up -d --build construye la imagen a partir del código en lugar de descargarla.

Cuando basedb se publica bajo una ruta —https://passerelle.example.com/basedb/ en lugar de la raíz de un dominio—, indica esa ruta:

Ventana de terminal
BASEDB_PUBLIC_URL=https://passerelle.example.com/basedb
# o, sin dirección pública:
BASEDB_BASE_PATH=/basedb

Todo pasa entonces por /basedb: la interfaz, /basedb/api, /basedb/mcp, los enlaces para compartir y los de los correos electrónicos. La pasarela puede conservar la ruta al transmitir la solicitud, o quitarla: basedb acepta ambas opciones. BASEDB_BASE_PATH=/ fuerza la raíz.

La imagen es la misma para todas las direcciones: la ruta se escribe en la interfaz al arrancar el contenedor, y cambiar de ruta solo requiere un reinicio.

Ventana de terminal
BASEDB_PORT=3100
POSTGRES_PORT=5433

Define DATABASE_URL: basedb se conecta a ella en lugar de al contenedor db (que arranca de todos modos, sin usarse; quítalo en un archivo docker-compose.override.yml si lo prefieres). Hace falta PostgreSQL 16 o superior, un rol propietario de la base de datos y las extensiones pg_trgm y unaccent disponibles. En ese caso basta con la imagen: consulta Instalación.

basedb es software libre de Eodia, estudio de software nativo de IA.