Merge pull request #794 from juandelperal/canary

feat(chatwoot): update blueprint to latest production layout
This commit is contained in:
Mauricio Siu
2026-07-08 10:23:02 -06:00
committed by GitHub
3 changed files with 48 additions and 33 deletions

View File

@@ -1,63 +1,75 @@
version: '3'
version: "3.8"
x-base-config: &base-config
image: chatwoot/chatwoot:v4.0.3
x-chatwoot-base: &chatwoot-base
image: chatwoot/chatwoot:v4.12.1
restart: unless-stopped
volumes:
- chatwoot-storage:/app/storage
environment:
- FRONTEND_URL=${FRONTEND_URL}
- SECRET_KEY_BASE=${SECRET_KEY_BASE}
- FORCE_SSL=${FORCE_SSL}
- DEFAULT_LOCALE=${DEFAULT_LOCALE}
- ACTIVE_STORAGE_SERVICE=${ACTIVE_STORAGE_SERVICE}
- ENABLE_ACCOUNT_SIGNUP=${ENABLE_ACCOUNT_SIGNUP}
- 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}
- REDIS_PASSWORD=${REDIS_PASSWORD}
services:
chatwoot-rails:
<<: *base-config
chatwoot:
<<: *chatwoot-base
depends_on:
chatwoot-postgres:
condition: service_started
chatwoot-redis:
condition: service_started
- postgres
- redis
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
command:
- sh
- -c
- bundle exec rails db:chatwoot_prepare && bundle exec rails s -p 3000 -b 0.0.0.0
expose:
- "3000"
chatwoot-sidekiq:
<<: *base-config
chatwoot-worker:
<<: *chatwoot-base
depends_on:
chatwoot-postgres:
condition: service_started
chatwoot-redis:
condition: service_started
command: ['bundle', 'exec', 'sidekiq', '-C', 'config/sidekiq.yml']
restart: always
- postgres
- redis
command:
- bundle
- exec
- sidekiq
- -C
- config/sidekiq.yml
chatwoot-postgres:
image: pgvector/pgvector:pg14
restart: always
postgres:
image: pgvector/pgvector:pg16
restart: unless-stopped
volumes:
- chatwoot-postgres-data:/var/lib/postgresql/data
- ./init-vector.sql:/docker-entrypoint-initdb.d/init-vector.sql
environment:
- POSTGRES_DB=${POSTGRES_DATABASE}
- POSTGRES_USER=${POSTGRES_USERNAME}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
chatwoot-redis:
redis:
image: redis:alpine
restart: always
restart: unless-stopped
command:
- sh
- -c
- redis-server --requirepass "$$REDIS_PASSWORD"
environment:
- REDIS_PASSWORD=${REDIS_PASSWORD}
volumes:
- chatwoot-redis-data:/data

View File

@@ -1,7 +1,7 @@
{
"id": "chatwoot",
"name": "Chatwoot",
"version": "v3.14.1",
"version": "v4.12.1",
"description": "Open-source customer engagement platform that provides a shared inbox for teams, live chat, and omnichannel support.",
"logo": "chatwoot.svg",
"links": {

View File

@@ -1,30 +1,33 @@
[variables]
main_domain = "${domain}"
secret_key_base = "${base64:64}"
secret_key_base = "${hash:64}"
postgres_password = "${password}"
redis_password = "${password}"
[config]
env = [
"FRONTEND_URL=http://${main_domain}",
"SECRET_KEY_BASE=${secret_key_base}",
"FORCE_SSL=false",
"RAILS_ENV=production",
"NODE_ENV=production",
"INSTALLATION_ENV=docker",
"RAILS_LOG_TO_STDOUT=true",
"LOG_LEVEL=info",
"DEFAULT_LOCALE=en",
"POSTGRES_HOST=chatwoot-postgres",
"POSTGRES_HOST=postgres",
"POSTGRES_PORT=5432",
"POSTGRES_DATABASE=chatwoot",
"POSTGRES_USERNAME=postgres",
"POSTGRES_PASSWORD=${postgres_password}",
"REDIS_URL=redis://chatwoot-redis:6379",
"REDIS_URL=redis://:${redis_password}@redis:6379",
"REDIS_PASSWORD=${redis_password}",
"ENABLE_ACCOUNT_SIGNUP=false",
"ACTIVE_STORAGE_SERVICE=local",
]
mounts = []
[[config.domains]]
serviceName = "chatwoot-rails"
serviceName = "chatwoot"
port = 3_000
host = "${main_domain}"