Octop v0.9.20 需通过环境变量和 Docker Compose 配置 PostgreSQL,不支持 Web 界面设置;须确保独立 PostgreSQL 实例就绪、网络可达、数据库与用户已创建,并正确配置 DB_TYPE、DB_HOST 等环境变量及 pg_hba.conf 权限。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

Octop v0.9.20 不支持直接在 Web 界面配置 PostgreSQL,需通过修改环境变量和 Docker Compose 配置文件完成设置。
确认 PostgreSQL 实例已就绪
PostgreSQL 必须是独立运行的实例(非容器内嵌 SQLite),可以是:
- 腾讯云数据库 TencentDB for PostgreSQL
- 本地自建 PostgreSQL(如安装在宿主机或专用容器中)
- Docker Compose 中单独定义的
postgres服务(推荐用于测试)
确保该实例可被 Octop 容器网络访问,且已创建好数据库(例如名为 octop)和专用用户(避免使用 postgres 超级用户)。
修改 docker-compose.yml 的环境配置
在 Octop 的 docker-compose.yml 文件中,找到 octop-backend 或 octop-server 服务块,在 environment 下添加或更新以下变量:
-
DB_TYPE:设为
postgresql -
DB_HOST:PostgreSQL 服务地址(如
postgres表示同 compose 网络中的服务名;若为宿主机则用host.docker.internal或真实内网 IP) -
DB_PORT:默认
5432,按实际调整 -
DB_NAME:数据库名,如
octop - DB_USER 和 DB_PASSWORD:对应账号密码
示例片段:
environment: - DB_TYPE=postgresql - DB_HOST=postgres - DB_PORT=5432 - DB_NAME=octop - DB_USER=octop_user - DB_PASSWORD=your_secure_password
确保网络与权限连通
若 PostgreSQL 运行在宿主机或外部服务器,注意以下几点:
- Docker 容器默认无法通过
localhost访问宿主机服务,应改用host.docker.internal(Docker Desktop)或宿主机真实 IP(Linux 需确认防火墙放行 5432 端口) - PostgreSQL 的
pg_hba.conf需允许来自 Octop 容器 IP 段或指定主机的连接,例如添加:host octop octop_user 172.20.0.0/16 md5 - 确认
postgresql.conf中listen_addresses包含*或对应 IP
启动并验证连接
执行以下命令重新部署:
docker compose down<br>docker compose up -d
查看日志确认初始化是否成功:
docker logs octop-backend
若出现 Connection refused 或 role "xxx" does not exist,说明网络不通或数据库未初始化,请先手动登录 PostgreSQL 执行 CREATE DATABASE octop; 和 CREATE USER octop_user WITH PASSWORD 'xxx';。

















