How to Self-Host Chatwoot: The Real Cost of DIY vs Managed
Self-hosting Chatwoot gives you data control. It also gives you infrastructure bills, database tuning, and 2am SSL certificate renewals. This guide compares what you actually pay: DIY VPS, Chatwoot Cloud, or managed hosting like Opsily.
The Three Ways to Run Chatwoot
DIY costs shown for 4 vCPU / 8GB RAM DigitalOcean Droplet (base requirement). Hidden labor costs for small teams typically add $500-2000/month when calculated at standard DevOps rates.
Why Teams Stop Self-Hosting Chatwoot
Self-hosting is free at first. Then DevOps becomes a second job.
No DevOps expertise required
No database tuning, no Docker Compose debugging, no 3am database migration. Stop treating infrastructure like a product roadmap. Point Opsily at your DNS, deploy, and let your ops team focus on the business.
GDPR-compliant by default
Chatwoot Cloud runs on AWS USA. If your customers are in Europe, that's a data residency violation. Opsily runs in German data centers. Your data never leaves the EU.
Flat-rate pricing, not per-agent
Chatwoot Cloud scales to $99 per agent per month when you grow to 10 people. Opsily is one price: unlimited agents, no extra seats, no surprise bills. Better math at scale.
Built for teams who need reliability
What Self-Hosting Chatwoot Actually Requires
This is not a 5-minute install. This is what you need to run.
Linux server (Ubuntu 20.04+), minimum 4 vCPU, 8GB RAM. Add PostgreSQL, Redis, and S3-compatible object storage for attachments. Budget: 2-4 hours learning curves, $200-500 setup costs.
Clone the Chatwoot GitHub repo, configure .env, run docker-compose up. Sounds fast. First-time setup is usually 4-8 hours of troubleshooting emails, SSL certificates, SMTP configuration.
Monthly SSL renewals, database backups (atomic daily snapshots, 7 retention tiers), storage scaling, version upgrades, and security patching. That is a part-time job for one person.
Linux server (Ubuntu 20.04+), minimum 4 vCPU, 8GB RAM. Add PostgreSQL, Redis, and S3-compatible object storage for attachments. Budget: 2-4 hours learning curves, $200-500 setup costs.
Clone the Chatwoot GitHub repo, configure .env, run docker-compose up. Sounds fast. First-time setup is usually 4-8 hours of troubleshooting emails, SSL certificates, SMTP configuration.
Monthly SSL renewals, database backups (atomic daily snapshots, 7 retention tiers), storage scaling, version upgrades, and security patching. That is a part-time job for one person.
Provision infrastructure
Linux server (Ubuntu 20.04+), minimum 4 vCPU, 8GB RAM. Add PostgreSQL, Redis, and S3-compatible object storage for attachments. Budget: 2-4 hours learning curves, $200-500 setup costs.
Clone, configure, deploy
Clone the Chatwoot GitHub repo, configure .env, run docker-compose up. Sounds fast. First-time setup is usually 4-8 hours of troubleshooting emails, SSL certificates, SMTP configuration.
Own the operational burden
Monthly SSL renewals, database backups (atomic daily snapshots, 7 retention tiers), storage scaling, version upgrades, and security patching. That is a part-time job for one person.
Scale or fail
When your support volume doubles, your database hits the wall. Migrate to a bigger server, or replication fails and you lose conversations. Migration equals 4-8 hours of downtime planning.
What Makes Self-Hosted Chatwoot Expensive
The Chatwoot Community Edition is free. Running it is not.
Infrastructure You'll Need
Start with a DigitalOcean Droplet (4 vCPU, 8GB RAM): $48/month. Add managed PostgreSQL ($15-50/mo), Redis ($5-20/mo), and S3-compatible storage ($5-15/mo for small volumes). Your actual baseline: $73-133/month. That is 3x what a budget VPS shows.
DevOps Labor, Hidden
You own every piece. Database tuning when you hit 100K conversations. Backup verification (atomic daily snapshots with 7-day, 1-month, 3-month retention tiers: automated complexity). SSL renewal automation (mistakes cost a support blackout). Security patching (CVEs do not wait). Someone tracks all of this. For teams without dedicated DevOps, this labor is invisible until it breaks at 11pm on Friday.
Security Is Your Responsibility
Chatwoot runs with customer data: conversations, email addresses, payment info, contact history. Self-hosting means you own the firewall, access controls, and breach response. One misconfigured security group exposes all agent access keys. One forgotten backup and you have no recovery. ISO 27001 compliance is not a checkbox - it is 40+ controls you implement alone.
Scaling Creates Downtime
Your support team hits 10K conversations in a month. PostgreSQL starts choking. You have three options: migrate to a larger server (4-8 hour maintenance window, zero customer support), replicate the database (adds complexity and cost), or go down. Opsily handles this invisibly; you never see it happen.
When Self-Hosting Makes Sense
Self-host if: you have a dedicated DevOps engineer, your data residency is non-negotiable for legal reasons, or you want full code audit capability and have the time to maintain it. If none of those apply, the math is against you.
Why GDPR Matters for Your Chatwoot Choice
If your customers are in the EU, Chatwoot Cloud does not meet your legal requirements. Here is what Opsily does instead.
GDPR Compliant
Data Processing Agreement included. Your conversations stay in EU data centers under GDPR Article 32 protection.
No Vendor Lock-In
Export your conversations, contacts, and conversation history anytime. Open-source core. You own the data; we just host it.
24/7 Monitoring
Your Chatwoot instance is watched continuously. Backups run atomic daily. Scaling is automatic. You sleep; we stay up.
Automatic Updates
Security patches roll out the same day. No manual docker-compose pull + restart. No missing Captain AI fixes or feature delays.
Opsily Managed Chatwoot Pricing
One price, unlimited agents, all features included. No per-seat scaling. No surprise bills.
Loading pricing...
Questions About Self-Hosting vs Managed Chatwoot
Planning your deployment? Start here.
Clone the Chatwoot GitHub repository, configure your .env file with database credentials (PostgreSQL + Redis), and run `docker-compose up`. You need Ubuntu 20.04+, 4 vCPU, 8GB RAM minimum. First-time setup typically takes 4-8 hours: provisioning the server, managing TLS certificates, configuring SMTP for outbound emails, and troubleshooting Docker networking. The official DigitalOcean guide (https://developers.chatwoot.com/self-hosted/deployment/digitalocean) walks through each step. Plan for additional time if you are not familiar with Docker or PostgreSQL.
Stop maintaining infrastructure. Start using Chatwoot.
Opsily handles the DevOps. You handle your customers. Get started in minutes, no credit card required.