Pular para o conteúdo

Docker Compose

O basedb é publicado em uma única imagem, eodia/basedb, para amd64 e arm64. O docker-compose.yml do repositório a combina com o PostgreSQL. Toda a configuração passa por um arquivo .env (veja Variáveis de ambiente).

Ela contém os três processos do basedb e os serve em uma única porta, 3000:

CaminhoProcesso
/api/*, /auth/*, /healthza API REST, o login, o trabalho em segundo plano
/mcpo servidor MCP, para os agentes
todo o resto — /, /f/…, /v/…a interface

Na inicialização, a API vai primeiro: em um banco vazio, ela aplica o catálogo e cria o primeiro administrador; nas inicializações seguintes, as duas coisas não têm efeito. O servidor MCP inicia assim que ela responde. Se um dos processos parar, o contêiner inteiro para, e a política de reinicialização o reinicia inteiro.

A imagem roda com o usuário node, no Node 22, declara uma verificação de saúde (/healthz) e um volume, /data, para os arquivos dos campos Arquivo e Imagem.

TagConteúdo
latesta última versão publicada
0.7a última versão 0.7.x
0.7.1exatamente esta versão
ServiçoImagemPorta (em 127.0.0.1)Volume
dbpostgres:16-alpine5432db-data
basedbeodia/basedb3000files → /data
proxy (opcional)caddy:2-alpine80, 443caddy-data, caddy-config
Fenêtre de terminal
docker compose up -d # baixar a imagem e iniciar
docker compose logs -f basedb # acompanhar o basedb (senha do admin na 1ª inicialização)
docker compose ps # estado e saúde dos serviços
docker compose restart basedb # reiniciar o basedb
docker compose down # parar (os volumes permanecem)

A partir de um clone do repositório, docker compose up -d --build constrói a imagem a partir do código em vez de baixá-la.

Quando o basedb é publicado sob um caminho — https://passerelle.example.com/basedb/ em vez de na raiz de um domínio —, indique esse caminho:

Fenêtre de terminal
BASEDB_PUBLIC_URL=https://passerelle.example.com/basedb
# ou, sem endereço público:
BASEDB_BASE_PATH=/basedb

Tudo passa então sob /basedb: a interface, /basedb/api, /basedb/mcp, os links de compartilhamento e os dos e-mails. O gateway pode manter o caminho ao repassar a requisição, ou retirá-lo: o basedb aceita os dois. BASEDB_BASE_PATH=/ força a raiz.

A imagem é a mesma para todos os endereços: o caminho é escrito na interface na inicialização do contêiner, e mudar de caminho só exige uma reinicialização.

Fenêtre de terminal
BASEDB_PORT=3100
POSTGRES_PORT=5433

Defina DATABASE_URL: o basedb se conecta a ele em vez do contêiner db (que inicia mesmo assim, sem uso — remova-o em um arquivo docker-compose.override.yml se preferir). É preciso PostgreSQL 16 ou superior, um papel proprietário do banco e as extensões pg_trgm e unaccent disponíveis. A imagem sozinha basta então — veja Instalação.

O basedb é um software livre da Eodia, estúdio de software nativo em IA.