version: '3' # Chatwoot - 共享 DB 版本 # 连接 crm-ai-demo_default 网络上的共享 crm-postgres / crm-redis, # 不再自带 postgres/redis/mailhog。源码构建(首次 build 需 5-10 分钟)。 # # 启动: docker compose -f docker-compose.yaml --env-file .env up -d --build services: base: &base build: context: . dockerfile: ./docker/Dockerfile args: BUNDLE_WITHOUT: '' EXECJS_RUNTIME: 'Node' RAILS_ENV: 'development' RAILS_SERVE_STATIC_FILES: 'false' tty: true stdin_open: true image: chatwoot:development env_file: .env rails: <<: *base build: context: . dockerfile: ./docker/dockerfiles/rails.Dockerfile image: chatwoot-rails:development container_name: crm-chatwoot-rails volumes: - ./:/app:delegated - node_modules:/app/node_modules - packs:/app/public/packs - cache:/app/tmp/cache - bundle:/usr/local/bundle ports: - "3001:3000" env_file: .env environment: - VITE_DEV_SERVER_HOST=vite - NODE_ENV=development - RAILS_ENV=development - SAFE_FETCH_ALLOW_PRIVATE_NETWORK=true entrypoint: docker/entrypoints/rails.sh command: ["bundle", "exec", "rails", "s", "-p", "3000", "-b", "0.0.0.0"] networks: - default - crm-ai-demo_default restart: always sidekiq: <<: *base image: chatwoot-rails:development container_name: crm-chatwoot-sidekiq volumes: - ./:/app:delegated - node_modules:/app/node_modules - packs:/app/public/packs - cache:/app/tmp/cache - bundle:/usr/local/bundle environment: - NODE_ENV=development - RAILS_ENV=development - SAFE_FETCH_ALLOW_PRIVATE_NETWORK=true command: ["bundle", "exec", "sidekiq", "-C", "config/sidekiq.yml"] networks: - default - crm-ai-demo_default restart: always vite: <<: *base build: context: . dockerfile: ./docker/dockerfiles/vite.Dockerfile image: chatwoot-vite:development container_name: crm-chatwoot-vite volumes: - ./:/app:delegated - node_modules:/app/node_modules - packs:/app/public/packs - cache:/app/tmp/cache - bundle:/usr/local/bundle ports: - "3036:3036" environment: - VITE_DEV_SERVER_HOST=0.0.0.0 - NODE_ENV=development - RAILS_ENV=development - SAFE_FETCH_ALLOW_PRIVATE_NETWORK=true entrypoint: docker/entrypoints/vite.sh command: bin/vite dev networks: - default - crm-ai-demo_default restart: always networks: crm-ai-demo_default: external: true volumes: packs: node_modules: cache: bundle: