Files
CamTalk/docker-compose.yml
hhs c0b4eeda46 refactor: 统一配置文件系统
- 补全 backend/config.yaml 所有非敏感配置项并添加中文注释
- 重写 config.go:Load(workDir) 显式传参,BindEnv 绑定敏感字段,删除 AutomaticEnv
- setDefaults 默认值与 config.yaml 保持一致(mimo/dashscope)
- backend/.env.example 重写为纯敏感信息模板
- .env 固定在 /opt/camtalk/.env,docker-compose 通过绝对路径加载
- deploy.sh 统一使用 --env-file,移除硬编码 IP
- deploy.yml 删除 CI 写入 .env 的步骤
- Dockerfile 移除 COPY config.yaml
- 修复 deploy.yml 中 POSTGRES_PASSWORD 的 &{{ 拼写错误
2026-06-19 18:41:35 +08:00

57 lines
1.3 KiB
YAML

services:
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
container_name: camtalk-frontend
ports:
- "9000:80"
depends_on:
- backend
networks:
- camtalk-net
restart: unless-stopped
backend:
build:
context: ./backend
dockerfile: Dockerfile
container_name: camtalk-backend
env_file:
- /opt/camtalk/.env
environment:
- CAMTALK_STORAGE_DRIVER=${CAMTALK_STORAGE_DRIVER:-postgres}
- CAMTALK_STORAGE_DSN=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/camtalk?sslmode=disable
depends_on:
postgres:
condition: service_healthy
networks:
- camtalk-net
restart: unless-stopped
postgres:
image: docker.m.daocloud.io/library/postgres:15-alpine
container_name: camtalk-postgres
environment:
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: camtalk
volumes:
- pgdata:/var/lib/postgresql/data
- ./backend/migrations:/docker-entrypoint-initdb.d
networks:
- camtalk-net
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d camtalk"]
interval: 5s
timeout: 3s
retries: 10
restart: unless-stopped
volumes:
pgdata:
networks:
camtalk-net:
driver: bridge