From 20d5e969863093b56071613ec141523c80e0f0c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=B1=E6=BD=AE?= Date: Sun, 18 Jan 2026 00:32:23 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=20PostgreSQL=20?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E7=94=A8=E4=BA=8E=20checkpoint=20=E5=AD=98?= =?UTF-8?q?=E5=82=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加 postgres:16-alpine 服务配置 - 配置 CHECKPOINT_DB_URL 环境变量 - 添加服务依赖和健康检查 Co-Authored-By: Claude Opus 4.5 --- docker-compose-with-pgsql.yml | 52 +++++++++++++++++++++++++++++++++++ utils/settings.py | 4 +-- 2 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 docker-compose-with-pgsql.yml diff --git a/docker-compose-with-pgsql.yml b/docker-compose-with-pgsql.yml new file mode 100644 index 0000000..24f7627 --- /dev/null +++ b/docker-compose-with-pgsql.yml @@ -0,0 +1,52 @@ +version: "3.8" + +services: + postgres: + image: postgres:16-alpine + container_name: qwen-agent-postgres + environment: + - POSTGRES_USER=root + - POSTGRES_PASSWORD= + - POSTGRES_DB=agent_db + ports: + - "5432:5432" + volumes: + - ../postgres_data:/var/lib/postgresql/data + restart: unless-stopped + healthcheck: + test: ["CMD-SHELL", "pg_isready -U agent_db"] + interval: 10s + timeout: 5s + retries: 5 + start_period: 10s + + qwen-agent: + build: + context: . + dockerfile: Dockerfile.modelscope + container_name: qwen-agent-api + ports: + - "8001:8001" + environment: + # 应用配置 + - BACKEND_HOST=http://api-dev.gbase.ai + - MAX_CONTEXT_TOKENS=262144 + - DEFAULT_THINKING_ENABLE=true + # PostgreSQL 配置 + - CHECKPOINT_DB_URL=postgresql://root:@postgres:5432/agent_db + volumes: + # 挂载项目数据目录 + - ./projects:/app/projects + depends_on: + postgres: + condition: service_healthy + restart: unless-stopped + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8001/api/health"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 40s + +volumes: + postgres_data: diff --git a/utils/settings.py b/utils/settings.py index 22575d1..c3b8e6c 100644 --- a/utils/settings.py +++ b/utils/settings.py @@ -48,8 +48,8 @@ MCP_SSE_READ_TIMEOUT = int(os.getenv("MCP_SSE_READ_TIMEOUT", 300)) # SSE 读取 # PostgreSQL 连接字符串 # 格式: postgresql://user:password@host:port/database -CHECKPOINT_DB_URL = os.getenv("CHECKPOINT_DB_URL", "postgresql://postgres:AeEGDB0b7Z5GK0E2tblt@dev-circleo-pg.celp3nik7oaq.ap-northeast-1.rds.amazonaws.com:5432/gptbase") -#CHECKPOINT_DB_URL = os.getenv("CHECKPOINT_DB_URL", "postgresql://moshui:@localhost:5432/moshui") +#CHECKPOINT_DB_URL = os.getenv("CHECKPOINT_DB_URL", "postgresql://postgres:AeEGDB0b7Z5GK0E2tblt@dev-circleo-pg.celp3nik7oaq.ap-northeast-1.rds.amazonaws.com:5432/gptbase") +CHECKPOINT_DB_URL = os.getenv("CHECKPOINT_DB_URL", "postgresql://moshui:@localhost:5432/moshui") # 连接池大小 # 同时可以持有的最大连接数