# 只部署「在线客服聊天框」(production 预编译前端) # 浏览器入口:http://127.0.0.1:7788/guest-customer-service # # docker pull ladioussuapp/guest-chat:latest # docker compose -f docker-compose.chat.yaml -f docker-compose.reuse-chatwoot-data.yaml up -d name: guest-chat x-cw-env: &cw-env NODE_ENV: production RAILS_ENV: production INSTALLATION_ENV: docker RAILS_SERVE_STATIC_FILES: "true" services: guest-chat: image: ladioussuapp/guest-chat:latest build: context: . dockerfile: Dockerfile.chatwidget args: RAILS_ENV: production NODE_ENV: production container_name: guest-chat 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 CHATWOOT_GUEST_BASE_URL: http://127.0.0.1:7788/cw APP_DEBUG: "false" ports: # 只对外开聊天框;Chatwoot 后台 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-chat-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-chat-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-chat-net volumes: storage_data: postgres_data: redis_data: networks: guest-chat-net: driver: bridge