feat: Docker 部署完整环境变量 — 不再依赖 backend/.env

docker-compose.yml 新增 ADMIN_PASSWORD/INTERNAL_SERVICE_TOKEN 等关键变量,
.docker.env.example 覆盖所有可配置项,确保容器内各服务启动不 panic。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-30 09:10:50 +08:00
parent 6a83624579
commit 3a1287dd24
3 changed files with 69 additions and 7 deletions
+25 -2
View File
@@ -33,10 +33,22 @@ services:
context: .
dockerfile: ./backend/gateway/Dockerfile
environment:
GATEWAY_PORT: "8080"
ENV: production
GATEWAY_PORT: "8080"
JWT_SECRET: ${JWT_SECRET}
JWT_EXPIRY_HOURS: "720"
JWT_EXPIRY_HOURS: ${JWT_EXPIRY_HOURS:-720}
INTERNAL_SERVICE_TOKEN: ${INTERNAL_SERVICE_TOKEN}
ADMIN_USERNAME: ${ADMIN_USERNAME:-admin}
ADMIN_PASSWORD: ${ADMIN_PASSWORD}
ADMIN_NICKNAME: ${ADMIN_NICKNAME:-管理员}
REGISTRATION_ENABLED: ${REGISTRATION_ENABLED:-false}
ALLOWED_ORIGINS: ${ALLOWED_ORIGINS:-http://localhost:5173,http://localhost:9090}
WS_MAX_CONNECTIONS: ${WS_MAX_CONNECTIONS:-1000}
SESSION_IDLE_TIMEOUT_MIN: ${SESSION_IDLE_TIMEOUT_MIN:-30}
WEBHOOK_API_KEY: ${WEBHOOK_API_KEY:-}
LLM_API_URL: ${LLM_API_URL}
LLM_API_KEY: ${LLM_API_KEY}
LLM_MODEL: ${LLM_MODEL:-gpt-4o}
AI_CORE_URL: http://ai-core:8081
MEMORY_SERVICE_URL: http://memory-service:8091
VOICE_SERVICE_URL: http://voice-service:8093
@@ -64,16 +76,26 @@ services:
environment:
AI_CORE_PORT: "8081"
PERSONA_DIR: "./internal/persona"
ENV: production
LLM_API_URL: ${LLM_API_URL}
LLM_API_KEY: ${LLM_API_KEY}
LLM_MODEL: ${LLM_MODEL:-gpt-4o}
LLM_FALLBACK_MODEL: ${LLM_FALLBACK_MODEL:-gpt-4o-mini}
INTERNAL_SERVICE_TOKEN: ${INTERNAL_SERVICE_TOKEN}
ADMIN_NICKNAME: ${ADMIN_NICKNAME:-管理员}
GATEWAY_URL: http://gateway:8080
MEMORY_SERVICE_URL: http://memory-service:8091
IOT_DEBUG_SERVICE_URL: http://iot-debug-service:8083
SEARXNG_URL: http://searxng:8080
ENABLE_BACKGROUND_THINKING: ${ENABLE_BACKGROUND_THINKING:-true}
ENABLE_TOOLS: "true"
TZ: Asia/Shanghai
POSTGRES_HOST: postgres
POSTGRES_PORT: "5432"
POSTGRES_USER: ${POSTGRES_USER:-cyrene}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB:-cyrene_ai}
POSTGRES_SSLMODE: disable
depends_on:
postgres:
condition: service_healthy
@@ -91,6 +113,7 @@ services:
POSTGRES_USER: ${POSTGRES_USER:-cyrene}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB:-cyrene_ai}
POSTGRES_SSLMODE: disable
depends_on:
postgres:
condition: service_healthy