version: '3' services: base: &base image: chatwoot/chatwoot:latest env_file: .env ## Change this file for customized env variables volumes: - /data/storage:/app/storage rails: <<: *base depends_on: - postgres - redis ports: - '127.0.0.1:3000:3000' environment: - NODE_ENV=production - RAILS_ENV=production - INSTALLATION_ENV=docker entrypoint: docker/entrypoints/rails.sh command: ['bundle', 'exec', 'rails', 's', '-p', '3000', '-b', '0.0.0.0'] sidekiq: <<: *base depends_on: - postgres - redis environment: - NODE_ENV=production - RAILS_ENV=production - INSTALLATION_ENV=docker command: ['bundle', 'exec', 'sidekiq', '-C', 'config/sidekiq.yml'] postgres: image: postgres:12 restart: always ports: - '127.0.0.1:5432:5432' volumes: - /data/postgres:/var/lib/postgresql/data environment: - POSTGRES_DB=chatwoot - POSTGRES_USER=postgres # Please provide your own password. - POSTGRES_PASSWORD= redis: image: redis:alpine restart: always command: ["sh", "-c", "redis-server --requirepass \"$REDIS_PASSWORD\""] env_file: .env volumes: - /data/redis:/data ports: - '127.0.0.1:6379:6379'