Skip to content

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