version: '3' x-base-config: &base-config image: chatwoot/chatwoot:v3.14.1 volumes: - chatwoot-storage:/app/storage networks: - dokploy-network environment: - FRONTEND_URL=${FRONTEND_URL} - SECRET_KEY_BASE=${SECRET_KEY_BASE} - RAILS_ENV=${RAILS_ENV} - NODE_ENV=${NODE_ENV} - INSTALLATION_ENV=${INSTALLATION_ENV} - RAILS_LOG_TO_STDOUT=${RAILS_LOG_TO_STDOUT} - LOG_LEVEL=${LOG_LEVEL} - DEFAULT_LOCALE=${DEFAULT_LOCALE} - POSTGRES_HOST=${POSTGRES_HOST} - POSTGRES_PORT=${POSTGRES_PORT} - POSTGRES_DATABASE=${POSTGRES_DATABASE} - POSTGRES_USERNAME=${POSTGRES_USERNAME} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - REDIS_URL=${REDIS_URL} - ENABLE_ACCOUNT_SIGNUP=${ENABLE_ACCOUNT_SIGNUP} - ACTIVE_STORAGE_SERVICE=${ACTIVE_STORAGE_SERVICE} services: chatwoot-rails: <<: *base-config depends_on: chatwoot-postgres: condition: service_started chatwoot-redis: condition: service_started entrypoint: docker/entrypoints/rails.sh command: ['bundle', 'exec', 'sh', '-c', 'rails db:chatwoot_prepare && rails s -p 3000 -b 0.0.0.0'] restart: always chatwoot-sidekiq: <<: *base-config depends_on: chatwoot-postgres: condition: service_started chatwoot-redis: condition: service_started command: ['bundle', 'exec', 'sidekiq', '-C', 'config/sidekiq.yml'] restart: always chatwoot-postgres: image: postgres:12 restart: always volumes: - chatwoot-postgres-data:/var/lib/postgresql/data environment: - POSTGRES_DB=${POSTGRES_DATABASE} - POSTGRES_USER=${POSTGRES_USERNAME} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} chatwoot-redis: image: redis:alpine restart: always volumes: - chatwoot-redis-data:/data networks: dokploy-network: external: true volumes: chatwoot-storage: chatwoot-postgres-data: chatwoot-redis-data: