# 对照官方 https://github.com/chatwoot/chatwoot/blob/v4.16.2/docker-compose.production.yaml # Chatwoot 使用已预编译前端的 production 镜像;另含 Flask 一包镜像 # # 启动: # docker compose -f docker-compose.production.yaml up -d # 拉取一包: # docker pull ladioussuapp/guest-cs:latest name: guest-cs x-cw-env: &cw-env NODE_ENV: production RAILS_ENV: production INSTALLATION_ENV: docker RAILS_SERVE_STATIC_FILES: "true" services: guest-cs: image: ladioussuapp/guest-cs:latest build: context: . dockerfile: Dockerfile.allinone args: RAILS_ENV: production NODE_ENV: production container_name: guest-cs restart: always env_file: - ./chatwoot.env - ./guest-cs.env environment: <<: *cw-env CHATWOOT_GUEST_PROXY_TARGET: http://127.0.0.1:3000 CHATWOOT_GUEST_API_BASE: http://127.0.0.1:3000 APP_DEBUG: "false" ports: - "127.0.0.1:3000:3000" - "127.0.0.1:7788:7788" extra_hosts: - "host.docker.internal:host-gateway" volumes: - storage_data:/app/storage depends_on: - postgres - redis networks: - guest-cs-net postgres: image: pgvector/pgvector:pg16 restart: always volumes: - postgres_data:/var/lib/postgresql/data environment: POSTGRES_DB: chatwoot_production POSTGRES_USER: postgres POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-xi_E9IhtgSYjC9PoQXZmUnMX} networks: - guest-cs-net redis: image: redis:alpine restart: always command: ["sh", "-c", "redis-server --requirepass \"$$REDIS_PASSWORD\""] env_file: - ./chatwoot.env volumes: - redis_data:/data networks: - guest-cs-net volumes: storage_data: postgres_data: redis_data: networks: guest-cs-net: driver: bridge