Files
appstore/apps/chatwoot/latest/docker-compose.yml
T

130 lines
3.6 KiB
YAML

services:
chatwoot:
image: "chatwoot/chatwoot:v4.16.0-ce"
container_name: ${CONTAINER_NAME}
restart: always
depends_on:
chatwoot-postgres:
condition: service_healthy
chatwoot-redis:
condition: service_healthy
networks:
- 1panel-network
- chatwoot-network
ports:
- "${PANEL_APP_PORT_HTTP}:3000"
entrypoint: docker/entrypoints/rails.sh
command:
- sh
- -lc
- bundle exec rails db:chatwoot_prepare && exec bundle exec rails s -p 3000 -b 0.0.0.0
environment:
- TZ=${TZ}
- NODE_ENV=production
- RAILS_ENV=production
- INSTALLATION_ENV=docker
- SECRET_KEY_BASE=${SECRET_KEY_BASE}
- FRONTEND_URL=${FRONTEND_URL}
- ENABLE_ACCOUNT_SIGNUP=${ENABLE_ACCOUNT_SIGNUP}
- FORCE_SSL=false
- RAILS_LOG_TO_STDOUT=true
- LOG_LEVEL=info
- ACTIVE_STORAGE_SERVICE=local
- POSTGRES_HOST=chatwoot-postgres
- POSTGRES_PORT=5432
- POSTGRES_DATABASE=chatwoot
- POSTGRES_USERNAME=postgres
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- REDIS_URL=redis://chatwoot-redis:6379
- REDIS_PASSWORD=${REDIS_PASSWORD}
volumes:
- "${APP_DATA_DIR}/storage:/app/storage"
healthcheck:
test: ["CMD-SHELL", "wget -q -T 5 -O /dev/null http://127.0.0.1:3000/api"]
interval: 10s
timeout: 5s
retries: 20
start_period: 60s
labels:
createdBy: "Apps"
chatwoot-sidekiq:
image: "chatwoot/chatwoot:v4.16.0-ce"
container_name: ${CONTAINER_NAME}-sidekiq
restart: always
depends_on:
chatwoot:
condition: service_healthy
networks:
- chatwoot-network
entrypoint: docker/entrypoints/rails.sh
command: ["bundle", "exec", "sidekiq", "-C", "config/sidekiq.yml"]
environment:
- TZ=${TZ}
- NODE_ENV=production
- RAILS_ENV=production
- INSTALLATION_ENV=docker
- SECRET_KEY_BASE=${SECRET_KEY_BASE}
- FRONTEND_URL=${FRONTEND_URL}
- ENABLE_ACCOUNT_SIGNUP=${ENABLE_ACCOUNT_SIGNUP}
- FORCE_SSL=false
- RAILS_LOG_TO_STDOUT=true
- LOG_LEVEL=info
- ACTIVE_STORAGE_SERVICE=local
- POSTGRES_HOST=chatwoot-postgres
- POSTGRES_PORT=5432
- POSTGRES_DATABASE=chatwoot
- POSTGRES_USERNAME=postgres
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- REDIS_URL=redis://chatwoot-redis:6379
- REDIS_PASSWORD=${REDIS_PASSWORD}
volumes:
- "${APP_DATA_DIR}/storage:/app/storage"
labels:
createdBy: "Apps"
chatwoot-postgres:
image: "pgvector/pgvector:pg16"
container_name: ${CONTAINER_NAME}-postgres
restart: always
networks:
- chatwoot-network
environment:
- POSTGRES_DB=chatwoot
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
volumes:
- "${APP_DATA_DIR}/postgres:/var/lib/postgresql/data"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres -d chatwoot"]
interval: 10s
timeout: 5s
retries: 10
labels:
createdBy: "Apps"
chatwoot-redis:
image: "redis:7-alpine"
container_name: ${CONTAINER_NAME}-redis
restart: always
networks:
- chatwoot-network
command: ["sh", "-c", "redis-server --requirepass \"$$REDIS_PASSWORD\" --appendonly yes"]
environment:
- REDIS_PASSWORD=${REDIS_PASSWORD}
volumes:
- "${APP_DATA_DIR}/redis:/data"
healthcheck:
test: ["CMD-SHELL", "redis-cli -a \"$${REDIS_PASSWORD}\" ping"]
interval: 10s
timeout: 5s
retries: 10
labels:
createdBy: "Apps"
networks:
1panel-network:
external: true
chatwoot-network:
driver: bridge