version: '3.8' services: # 微信机器人管理系统 wechat-robot: build: context: . dockerfile: Dockerfile container_name: wechat-robot restart: unless-stopped ports: - "8080:8080" # 应用端口 volumes: - ./configs:/app/configs # 配置文件 - ./data:/app/data # 数据文件 - ./logs:/app/logs # 日志文件 - /var/run/docker.sock:/var/run/docker.sock # Docker socket 用于容器管理 # 添加 docker 组的 GID 到容器,999 是常见的 docker 组 GID,但在不同系统可能不同 group_add: - "999" # 请确认您系统上的 docker 组 GID environment: - APP_ENV=production - TZ=Asia/Shanghai - DOCKER_HOST=unix:///var/run/docker.sock depends_on: - postgres - redis networks: - wechat-network # PostgreSQL 数据库 postgres: image: postgres:14-alpine container_name: wechat-postgres restart: unless-stopped environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: password # 生产环境请修改此密码 POSTGRES_DB: wechat_demo volumes: - postgres-data:/var/lib/postgresql/data ports: - "5432:5432" networks: - wechat-network # Redis 服务 redis: image: redis:7-alpine container_name: wechat-redis restart: unless-stopped command: redis-server --requirepass pGhQKwj7DE7FbFL1 # 与配置中的密码一致 volumes: - redis-data:/data ports: - "6379:6379" networks: - wechat-network # PGAdmin(可选)数据库管理工具 pgadmin: image: dpage/pgadmin4 container_name: wechat-pgadmin environment: PGADMIN_DEFAULT_EMAIL: admin@example.com PGADMIN_DEFAULT_PASSWORD: admin # 生产环境请修改此密码 ports: - "5050:80" depends_on: - postgres networks: - wechat-network volumes: postgres-data: redis-data: networks: wechat-network: name: wechat-network driver: bridge ipam: driver: default config: - subnet: 172.20.0.0/16 # 定义子网,允许固定IP分配