coolify/templates/compose/chatwoot.yaml

117 lines
4.4 KiB
YAML
Raw Normal View History

2024-05-23 20:25:55 +00:00
# documentation: https://www.chatwoot.com/docs/self-hosted/
2024-05-24 11:54:57 +00:00
# slogan: Delightful customer relationships at scale.
# category: cms
2024-05-23 20:25:55 +00:00
# tags: chatwoot,chat,api,open,source,rails,redis,postgresql,sidekiq
2024-05-24 11:54:57 +00:00
# logo: svgs/chatwoot.svg
# port: 3000
2024-05-23 20:25:55 +00:00
services:
chatwoot:
2024-05-23 20:25:55 +00:00
image: chatwoot/chatwoot:latest
depends_on:
- postgres
- redis
environment:
- SERVICE_URL_CHATWOOT_3000
2024-05-23 20:25:55 +00:00
- SECRET_KEY_BASE=$SERVICE_PASSWORD_CHATWOOT
- FRONTEND_URL=${SERVICE_URL_CHATWOOT}
2024-05-23 20:25:55 +00:00
- DEFAULT_LOCALE=${CHATWOOT_DEFAULT_LOCALE}
2024-10-07 10:36:33 +00:00
- FORCE_SSL=${FORCE_SSL:-false}
- ENABLE_ACCOUNT_SIGNUP=${ENABLE_ACCOUNT_SIGNUP:-false}
2024-05-24 11:54:57 +00:00
- REDIS_URL=redis://default@redis:6379
2024-05-23 20:25:55 +00:00
- REDIS_PASSWORD=$SERVICE_PASSWORD_REDIS
2024-10-07 10:36:33 +00:00
- REDIS_OPENSSL_VERIFY_MODE=${REDIS_OPENSSL_VERIFY_MODE:-none}
- POSTGRES_DATABASE=${POSTGRES_DB:-chatwoot}
- POSTGRES_HOST=${POSTGRES_HOST:-postgres}
- POSTGRES_USERNAME=$SERVICE_USER_POSTGRES
2024-05-23 20:25:55 +00:00
- POSTGRES_PASSWORD=$SERVICE_PASSWORD_POSTGRES
2024-10-07 10:36:33 +00:00
- RAILS_MAX_THREADS=${RAILS_MAX_THREADS:-5}
- NODE_ENV=${NODE_ENV:-production}
- RAILS_ENV=${RAILS_ENV:-production}
- INSTALLATION_ENV=${INSTALLATION_ENV:-docker}
2024-05-23 20:25:55 +00:00
- MAILER_SENDER_EMAIL=${CHATWOOT_MAILER_SENDER_EMAIL}
- SMTP_ADDRESS=${CHATWOOT_SMTP_ADDRESS}
- SMTP_AUTHENTICATION=${CHATWOOT_SMTP_AUTHENTICATION}
- SMTP_DOMAIN=${CHATWOOT_SMTP_DOMAIN}
- SMTP_ENABLE_STARTTLS_AUTO=${CHATWOOT_SMTP_ENABLE_STARTTLS_AUTO}
- SMTP_PORT=${CHATWOOT_SMTP_PORT}
- SMTP_USERNAME=${CHATWOOT_SMTP_USERNAME}
- SMTP_PASSWORD=${CHATWOOT_SMTP_PASSWORD}
2024-10-07 10:36:33 +00:00
- ACTIVE_STORAGE_SERVICE=${ACTIVE_STORAGE_SERVICE:-local}
2024-05-23 20:25:55 +00:00
entrypoint: docker/entrypoints/rails.sh
command: sh -c "bundle exec rails db:chatwoot_prepare && bundle exec rails s -p 3000 -b 0.0.0.0"
volumes:
- rails-data:/app/storage
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://127.0.0.1:3000"]
interval: 5s
timeout: 20s
retries: 10
sidekiq:
image: chatwoot/chatwoot:latest
depends_on:
- postgres
- redis
environment:
- SECRET_KEY_BASE=$SERVICE_PASSWORD_CHATWOOT
- FRONTEND_URL=${SERVICE_URL_CHATWOOT}
2024-05-23 20:25:55 +00:00
- DEFAULT_LOCALE=${CHATWOOT_DEFAULT_LOCALE}
2024-10-07 10:36:33 +00:00
- FORCE_SSL=${FORCE_SSL:-false}
- ENABLE_ACCOUNT_SIGNUP=${ENABLE_ACCOUNT_SIGNUP:-false}
2024-05-24 11:54:57 +00:00
- REDIS_URL=redis://default@redis:6379
2024-05-23 20:25:55 +00:00
- REDIS_PASSWORD=$SERVICE_PASSWORD_REDIS
2024-10-07 10:36:33 +00:00
- REDIS_OPENSSL_VERIFY_MODE=${REDIS_OPENSSL_VERIFY_MODE:-none}
- POSTGRES_DATABASE=${POSTGRES_DB:-chatwoot}
- POSTGRES_HOST=${POSTGRES_HOST:-postgres}
- POSTGRES_USERNAME=$SERVICE_USER_POSTGRES
2024-05-23 20:25:55 +00:00
- POSTGRES_PASSWORD=$SERVICE_PASSWORD_POSTGRES
2024-10-07 10:36:33 +00:00
- RAILS_MAX_THREADS=${RAILS_MAX_THREADS:-5}
- NODE_ENV=${NODE_ENV:-production}
- RAILS_ENV=${RAILS_ENV:-production}
- INSTALLATION_ENV=${INSTALLATION_ENV:-docker}
2024-05-23 20:25:55 +00:00
- MAILER_SENDER_EMAIL=${CHATWOOT_MAILER_SENDER_EMAIL}
- SMTP_ADDRESS=${CHATWOOT_SMTP_ADDRESS}
- SMTP_AUTHENTICATION=${CHATWOOT_SMTP_AUTHENTICATION}
- SMTP_DOMAIN=${CHATWOOT_SMTP_DOMAIN}
- SMTP_ENABLE_STARTTLS_AUTO=${CHATWOOT_SMTP_ENABLE_STARTTLS_AUTO}
- SMTP_PORT=${CHATWOOT_SMTP_PORT}
- SMTP_USERNAME=${CHATWOOT_SMTP_USERNAME}
- SMTP_PASSWORD=${CHATWOOT_SMTP_PASSWORD}
2024-10-07 10:36:33 +00:00
- ACTIVE_STORAGE_SERVICE=${ACTIVE_STORAGE_SERVICE:-local}
2024-05-23 20:25:55 +00:00
command: ['bundle', 'exec', 'sidekiq', '-C', 'config/sidekiq.yml']
volumes:
- rails-data:/app/storage
2024-05-23 20:25:55 +00:00
healthcheck:
test: ["CMD-SHELL", "bundle exec rails runner 'puts Sidekiq.redis(&:info)' > /dev/null 2>&1"]
interval: 30s
timeout: 10s
retries: 3
postgres:
image: pgvector/pgvector:pg12
2024-05-23 20:25:55 +00:00
restart: always
volumes:
- postgres-data:/var/lib/postgresql/data
environment:
2024-10-07 10:36:33 +00:00
- POSTGRES_DB=${POSTGRES_DB:-chatwoot}
- POSTGRES_USER=$SERVICE_USER_POSTGRES
2024-05-23 20:25:55 +00:00
- POSTGRES_PASSWORD=$SERVICE_PASSWORD_POSTGRES
healthcheck:
2024-10-07 10:36:33 +00:00
test: ["CMD-SHELL", "pg_isready -U $SERVICE_USER_POSTGRES -d chatwoot -h 127.0.0.1"]
2024-05-23 20:25:55 +00:00
interval: 30s
timeout: 10s
retries: 5
redis:
image: redis:alpine
restart: always
command: ["sh", "-c", "redis-server --requirepass \"$SERVICE_PASSWORD_REDIS\""]
volumes:
- redis-data:/data
healthcheck:
test: ["CMD", "redis-cli", "-a", "$SERVICE_PASSWORD_REDIS", "PING"]
interval: 30s
timeout: 10s
2024-05-24 11:54:57 +00:00
retries: 5