Self-Hosting
Status: Complete
Run your own Chatalot instance. Self-hosting is a first-class feature of Chatalot -- not an afterthought.
Why Self-Host?
Chatalot is designed from day one to be self-hosted. When you run your own instance, you get:
- Complete data ownership. Your messages, files, and metadata live on your server. No third party ever has access.
- End-to-end encryption you can verify. Because you control the server code, you can audit the cryptographic pipeline yourself.
- No usage limits. No artificial caps on file sizes, message history, or number of users.
- Privacy by architecture. No telemetry, no tracking, no ads.
Pages
| # | Page | Description |
|---|---|---|
| 1 | Requirements | Hardware, software, and infrastructure prerequisites |
| 2 | Quick Start | Get a working instance in 5 minutes with Docker |
| 2a | Production Deployment | Scripted, non-interactive install for real VPS deploys |
| 2b | AI-Agent Deployment | Command-first runbook for AI assistants driving the install |
| 2c | Upgrade to Managed Updates | Migrate an existing pre-managed-update install onto the new pipeline |
| 3 | Configuration | All environment variables and settings explained |
| 4 | Database Setup | PostgreSQL installation, migrations, and connection tuning |
| 5 | TLS and Reverse Proxy | Nginx, Caddy, and Let's Encrypt configuration |
| 6 | Docker Deployment | Full Docker Compose reference and customization |
| 7 | Manual Deployment | Building from source without Docker |
| 8 | Backup and Restore | Database dumps, file backups, and recovery procedures |
| 9 | Updating | Pulling updates, running migrations, and rollback |
| 10 | Monitoring | Health checks, logs, and resource monitoring |
| 11 | Security Hardening | Production security checklist and best practices |
| 12 | Troubleshooting | Common issues and how to resolve them |
| 13 | Cloudflare Tunnel | Zero-config public access with Cloudflare Tunnel |
| 14 | Email / SMTP | Meeting invite emails -- relay setup, deliverability, and worked examples |
Deployment Paths
There are several ways to deploy Chatalot. Pick the one that fits your situation:
| Path | Best For | Difficulty |
|---|---|---|
| Docker + Quick Start | Most users, fastest setup | Easy |
| Docker + Cloudflare Tunnel | Public-facing instance without port forwarding | Easy |
| Docker + Reverse Proxy | Production with custom domain and TLS | Moderate |
| Manual Build | Developers, custom environments, non-Docker hosts | Advanced |
Quick Reference
# Interactive setup (recommended for first-time users)
./scripts/install.sh
# Production, non-interactive (AI-agent-friendly)
./scripts/install.sh --non-interactive \
--domain chat.yourdomain.com \
--admin-username alice \
--registration invite_only \
--enable-turn --turn-external-ip YOUR.VPS.PUBLIC.IP \
--enable-updater --use-prebuilt
# ...see docs/self-hosting/production.md for the full walkthrough.
# Or fully manual
./scripts/generate-secrets.sh
docker compose up -d
# Check status
curl http://localhost:8080/api/health
# View logs
docker compose logs -f chatalot