Chatwoot
Chatwoot is an open-source, self-hosted customer engagement platform that provides live chat, email, social media, and messaging channel support in a unified inbox. It supports website live chat widgets, Facebook Messenger, Instagram, Twitter, WhatsApp, Telegram, Line, SMS, and email channels. This stack deploys the Chatwoot web application and a Sidekiq background worker for async job processing, backed by PostgreSQL 16 for data storage and Redis 7 for caching and job queuing. Chatwoot features agent assignment rules, canned responses, automation rules, conversation labels, team management, CSAT surveys, and reporting dashboards. It also provides a REST API, webhooks, and integrations with tools like Slack, Dialogflow, and custom bots. After deployment, access the web UI on port 3000 to create your admin account, set up your inbox channels, and install the chat widget on your website.
शामिल सर्विसेज़
chatwoot
chatwoot/chatwoot:latest
एनवायरनमेंट वेरिएबल्स:
sidekiq
chatwoot/chatwoot:latest
एनवायरनमेंट वेरिएबल्स:
postgres
postgres:16-alpine
एनवायरनमेंट वेरिएबल्स:
redis
redis:7-alpine
जनरेटेड YAML
# Generated by ComposeHub (composehub.dev)
name: chatwoot
services:
chatwoot:
image: chatwoot/chatwoot:latest
restart: always
command:
- bundle
- exec
- rails
- s
- "-p"
- "3000"
- "-b"
- 0.0.0.0
ports:
- 3000:3000
volumes:
- chatwoot_storage:/app/storage
- chatwoot_public:/app/public
environment:
SECRET_KEY_BASE: ${SECRET_KEY_BASE:-changeme-generate-a-long-random-hex-string}
FRONTEND_URL: ${FRONTEND_URL:-http://localhost:3000}
RAILS_ENV: production
NODE_ENV: production
POSTGRES_HOST: postgres
POSTGRES_PORT: "5432"
POSTGRES_DATABASE: ${POSTGRES_DB:-chatwoot}
POSTGRES_USERNAME: ${POSTGRES_USER:-chatwoot}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-changeme}
REDIS_URL: redis://redis:6379
RAILS_LOG_TO_STDOUT: "true"
SMTP_ADDRESS: ${SMTP_ADDRESS:-}
SMTP_PORT: ${SMTP_PORT:-587}
SMTP_USERNAME: ${SMTP_USERNAME:-}
SMTP_PASSWORD: ${SMTP_PASSWORD:-}
MAILER_SENDER_EMAIL: ${MAILER_SENDER_EMAIL:-Chatwoot <[email protected]>}
networks:
- chatwoot
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
healthcheck:
test:
- CMD-SHELL
- curl -f http://localhost:3000/auth/sign_in || exit 1
interval: 30s
timeout: 10s
retries: 5
start_period: 90s
deploy:
resources:
limits:
cpus: "2.00"
memory: 1536M
reservations:
cpus: "0.50"
memory: 512M
labels:
com.composehub.description: Chatwoot web application and customer engagement platform
sidekiq:
image: chatwoot/chatwoot:latest
restart: always
command:
- bundle
- exec
- sidekiq
- "-C"
- config/sidekiq.yml
volumes:
- chatwoot_storage:/app/storage
- chatwoot_public:/app/public
environment:
SECRET_KEY_BASE: ${SECRET_KEY_BASE:-changeme-generate-a-long-random-hex-string}
FRONTEND_URL: ${FRONTEND_URL:-http://localhost:3000}
RAILS_ENV: production
POSTGRES_HOST: postgres
POSTGRES_PORT: "5432"
POSTGRES_DATABASE: ${POSTGRES_DB:-chatwoot}
POSTGRES_USERNAME: ${POSTGRES_USER:-chatwoot}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-changeme}
REDIS_URL: redis://redis:6379
networks:
- chatwoot
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
deploy:
resources:
limits:
cpus: "1.00"
memory: 1024M
reservations:
cpus: "0.25"
memory: 256M
labels:
com.composehub.description: Chatwoot Sidekiq background worker for async jobs
postgres:
image: postgres:16-alpine
restart: always
volumes:
- chatwoot_db:/var/lib/postgresql/data
environment:
POSTGRES_DB: ${POSTGRES_DB:-chatwoot}
POSTGRES_USER: ${POSTGRES_USER:-chatwoot}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-changeme}
networks:
- chatwoot
healthcheck:
test:
- CMD-SHELL
- pg_isready -U ${POSTGRES_USER:-chatwoot} -d ${POSTGRES_DB:-chatwoot}
interval: 5s
timeout: 5s
retries: 10
start_period: 30s
deploy:
resources:
limits:
cpus: "1.00"
memory: 512M
reservations:
cpus: "0.25"
memory: 128M
labels:
com.composehub.description: PostgreSQL 16 database for Chatwoot
redis:
image: redis:7-alpine
restart: always
command:
- redis-server
- "--save"
- "20"
- "1"
- "--loglevel"
- warning
- "--maxmemory"
- 256mb
- "--maxmemory-policy"
- allkeys-lru
volumes:
- chatwoot_redis:/data
networks:
- chatwoot
healthcheck:
test:
- CMD-SHELL
- redis-cli ping | grep PONG
interval: 5s
timeout: 5s
retries: 10
start_period: 10s
deploy:
resources:
limits:
cpus: "0.50"
memory: 320M
reservations:
cpus: "0.10"
memory: 64M
labels:
com.composehub.description: Redis 7 for Chatwoot caching and job queuing
networks:
chatwoot:
driver: bridge
volumes:
chatwoot_storage:
driver: local
chatwoot_public:
driver: local
chatwoot_db:
driver: local
chatwoot_redis:
driver: local
त्वरित जानकारी
- सर्विसेज़
- 4
- नेटवर्क्स
- 1
- वॉल्यूम्स
- 4
कब उपयोग करें
यह टेम्पलेट एक chatwoot एनवायरनमेंट सेटअप के लिए आदर्श है। सभी सर्विसेज़ healthchecks, रिसोर्स लिमिट्स और उचित डिफ़ॉल्ट सेटिंग्स के साथ पहले से कॉन्फ़िगर्ड हैं। प्रोडक्शन में डिप्लॉय करने से पहले एनवायरनमेंट वेरिएबल्स कस्टमाइज़ करें।
सुझाव
- डिप्लॉय करने से पहले सभी डिफ़ॉल्ट पासवर्ड बदलें
- अपने हार्डवेयर के अनुसार रिसोर्स लिमिट्स की समीक्षा करें
- प्रोडक्शन HTTPS के लिए रिवर्स प्रॉक्सी जोड़ें
- डेटा वॉल्यूम्स के लिए बैकअप रणनीतियाँ कॉन्फ़िगर करें