跳转到内容

Docker Compose

basedb 以单个镜像 eodia/basedb 发布,支持 amd64 和 arm64。仓库中的 docker-compose.yml 将它与 PostgreSQL 组合在一起。所有配置都通过 .env 文件完成(参见环境变量)。

镜像包含 basedb 的三个进程,并通过同一个端口 3000 提供服务:

路径进程
/api/*、/auth/*、/healthzREST API、登录、后台任务
/mcpMCP 服务器,供智能体使用
其余所有路径——/、/f/…、/v/…界面

启动时,API 最先启动:在空数据库上,它会应用目录(catalog)并创建第一个管理员;之后再启动时,这两步都不会产生任何作用。API 一旦响应,MCP 服务器就会启动。如果任一进程停止,整个容器都会停止,并由重启策略整体重新启动。

镜像以 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 日志(首次启动时会显示管理员密码)
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 是 AI 原生软件工作室 Eodia 出品的自由软件。