
Deploy Chatwoot on Your Own Server
Open-source customer support SaaS alternative to Intercom, Drift, Crisp
Want to deploy Chatwoot on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.
What is Chatwoot?
Open-source customer support SaaS alternative to Intercom, Drift, Crisp.
Self-Host Chatwoot
Follow these steps to deploy on your own server.
Install Docker
Skip this step if Docker is already installed on your server.
curl -fsSL https://get.docker.com | sh
Configure
Customize the settings below. Defaults work for most cases.
General
Deploy
Copy the configuration and run it on your server.
services:
chatwoot-postgres:
image: postgres:15
environment:
POSTGRES_DB: chatwoot
POSTGRES_PASSWORD: ""
POSTGRES_USER: chatwoot
volumes:
- chatwoot-postgres-data:/var/lib/postgresql/data
chatwoot-redis:
environment:
REDIS_PASSWORD: ""
volumes:
- chatwoot-redis-data:/data
chatwoot-web:
environment:
INSTALLATION_ENV: Senate
POSTGRES_DATABASE: chatwoot
POSTGRES_HOST: chatwoot-postgres
POSTGRES_PASSWORD: ""
POSTGRES_USERNAME: chatwoot
RAILS_ENV: production
RAILS_LOG_TO_STDOUT: "true"
REDIS_PASSWORD: ""
REDIS_URL: redis://chatwoot-redis:6379
SECRET_KEY_BASE: ""
chatwoot-worker:
environment:
FRONTEND_URL: http://chatwoot.your-domain.com
INSTALLATION_ENV: Senate
POSTGRES_DATABASE: chatwoot
POSTGRES_HOST: chatwoot-postgres
POSTGRES_PASSWORD: ""
POSTGRES_USERNAME: chatwoot
RAILS_ENV: production
RAILS_LOG_TO_STDOUT: "true"
REDIS_PASSWORD: ""
REDIS_URL: redis://chatwoot-redis:6379
SECRET_KEY_BASE: ""
volumes:
chatwoot-postgres-data: {}
chatwoot-redis-data: {}
Then run:
docker compose up -d
Access
Once started, access your app at http://localhost:3000
Why Self-Host Chatwoot?
Full Data Ownership
Your data stays on your servers. No third-party access.
No Monthly Fees
Pay only for your server. No per-seat or usage charges.
Complete Control
Customize, backup, and scale on your own terms.
Privacy & Compliance
Meet GDPR, HIPAA, or internal security requirements.
Technical Details
Docker Image
postgres:15Want to go faster?
Try Senate! Senate handles Docker, HTTPS, updates, and monitoring for you. Deploy any of our 300+ apps with a single command.
Install on any Linux server:
sh -c "$(curl -sSL https://get.senate.sh)"