Перейти до вмісту

Docker Compose

basedb публікується як один образ, eodia/basedb, для amd64 і arm64. docker-compose.yml із репозиторію поєднує його з PostgreSQL. Уся конфігурація задається у файлі .env (див. Змінні середовища).

Він містить три процеси basedb і обслуговує їх на одному порту, 3000:

ШляхПроцес
/api/*, /auth/*, /healthzREST API, вхід, фонова робота
/mcpсервер MCP для агентів
усе інше — /, /f/…, /v/…інтерфейс

Під час запуску API стартує першим: на порожній базі він застосовує каталог і створює першого адміністратора; під час наступних запусків ці кроки нічого не змінюють. Сервер MCP запускається, щойно API відповідає. Якщо один із процесів зупиняється, зупиняється весь контейнер, і політика перезапуску перезапускає його повністю.

Образ працює від імені користувача node на Node 22, оголошує перевірку стану (/healthz) і том /data для файлів полів «Файл» і «Зображення».

ТегВміст
latestостання опублікована версія
0.7остання версія 0.7.x
0.7.1саме ця версія
СервісОбразПорт (на 127.0.0.1)Том
dbpostgres:16-alpine5432db-data
basedbeodia/basedb3000files → /data
proxy (опційно)caddy:2-alpine80, 443caddy-data, caddy-config
Fenêtre de terminal
docker compose up -d # завантажити образ і запустити
docker compose logs -f basedb # стежити за basedb (пароль адміністратора під час 1-го запуску)
docker compose ps # стан і справність сервісів
docker compose restart basedb # перезапустити basedb
docker compose down # зупинити (томи лишаються)

У клоні репозиторію docker compose up -d --build збирає образ із коду, а не завантажує його.

Коли basedb опубліковано під певним шляхом — https://passerelle.example.com/basedb/, а не в корені домену, — вкажіть цей шлях:

Fenêtre de terminal
BASEDB_PUBLIC_URL=https://passerelle.example.com/basedb
# або, без публічної адреси:
BASEDB_BASE_PATH=/basedb

Тоді все проходить під /basedb: інтерфейс, /basedb/api, /basedb/mcp, посилання спільного доступу та ті, що в листах. Шлюз може зберегти шлях, передаючи запит, або прибрати його: basedb приймає обидва варіанти. BASEDB_BASE_PATH=/ примушує корінь.

Образ однаковий для всіх адрес: шлях записується в інтерфейс під час запуску контейнера, і зміна шляху потребує лише перезапуску.

Fenêtre de terminal
BASEDB_PORT=3100
POSTGRES_PORT=5433

Задайте DATABASE_URL: basedb підключиться до неї замість контейнера db (який однаково запуститься, але не використовуватиметься, — за бажанням приберіть його у файлі docker-compose.override.yml). Потрібні PostgreSQL 16 або новіший, роль — власник бази та доступні розширення pg_trgm і unaccent. Тоді достатньо самого образу — див. Встановлення.

basedb — вільне програмне забезпечення від Eodia, студії ШІ-орієнтованого програмного забезпечення.