Docker Compose
basedb è pubblicato come un’unica immagine, eodia/basedb,
per amd64 e arm64. Il docker-compose.yml del repository la assembla con PostgreSQL. Tutta la
configurazione passa per un file .env (vedi
Variabili d’ambiente).
L’immagine
Sezione intitolata “L’immagine”Contiene i tre processi di basedb e li serve su un’unica porta, la 3000:
| Percorso | Processo |
|---|---|
/api/*, /auth/*, /healthz | l’API REST, l’accesso, le elaborazioni in background |
/mcp | il server MCP, per gli agenti |
tutto il resto — /, /f/…, /v/… | l’interfaccia |
All’avvio, l’API parte per prima: su un database vuoto, applica il catalogo e crea il primo amministratore; agli avvii successivi, entrambe le operazioni non hanno effetto. Il server MCP si avvia non appena l’API risponde. Se uno dei processi si arresta, l’intero container si arresta, e la politica di riavvio lo riavvia per intero.
L’immagine gira con l’utente node, su Node 22, dichiara un controllo di integrità
(/healthz) e un volume, /data, per i file dei campi File e Immagine.
| Tag | Contenuto |
|---|---|
latest | l’ultima versione pubblicata |
0.7 | l’ultima versione 0.7.x |
0.7.1 | esattamente questa versione |
I servizi
Sezione intitolata “I servizi”| Servizio | Immagine | Porta (su 127.0.0.1) | Volume |
|---|---|---|---|
db | postgres:16-alpine | 5432 | db-data |
basedb | eodia/basedb | 3000 | files → /data |
proxy (opzionale) | caddy:2-alpine | 80, 443 | caddy-data, caddy-config |
Comandi utili
Sezione intitolata “Comandi utili”docker compose up -d # scarica l’immagine e avviadocker compose logs -f basedb # segui basedb (password admin al 1° avvio)docker compose ps # stato e integrità dei servizidocker compose restart basedb # riavvia basedbdocker compose down # ferma (i volumi restano)Da un clone del repository, docker compose up -d --build costruisce l’immagine dal codice
invece di scaricarla.
Dietro un gateway, sotto un percorso
Sezione intitolata “Dietro un gateway, sotto un percorso”Quando basedb è pubblicato sotto un percorso — https://passerelle.example.com/basedb/ invece che
alla radice di un dominio —, indica questo percorso:
BASEDB_PUBLIC_URL=https://passerelle.example.com/basedb# oppure, senza indirizzo pubblico:BASEDB_BASE_PATH=/basedbTutto passa allora sotto /basedb: l’interfaccia, /basedb/api, /basedb/mcp, i link di
condivisione e quelli delle email. Il gateway può mantenere il percorso trasmettendo la
richiesta, oppure rimuoverlo: basedb accetta entrambi. BASEDB_BASE_PATH=/ forza la radice.
L’immagine è la stessa per tutti gli indirizzi: il percorso viene scritto nell’interfaccia all’avvio del container, e cambiare percorso richiede solo un riavvio.
Cambiare le porte
Sezione intitolata “Cambiare le porte”BASEDB_PORT=3100POSTGRES_PORT=5433Un database PostgreSQL esistente
Sezione intitolata “Un database PostgreSQL esistente”Definisci DATABASE_URL: basedb vi si collega invece che al container db (che si avvia comunque,
inutilizzato — rimuovilo tramite un file docker-compose.override.yml se preferisci). Servono
PostgreSQL 16 o superiore, un ruolo proprietario del database, e le estensioni pg_trgm e unaccent
disponibili. Basta allora la sola immagine — vedi Installazione.
basedb è un software libero di Eodia, studio di software AI-native.