Documentation and guides for people who self-host their Discourse sites.
Setup & configuration
- Installation guide: Install Discourse in production with the official, supported instructions
- Installing plugins: Install plugins on a self-hosted site
- Environmental variables: Set Environmental Variables
- Tracking branch for updates: Configure a supported tracking branch to get Discourse software updates
- Storage location: Change Discourse install storage location
- Amazon S3 uploads: Set up file and image uploads to S3
- Amazon S3 storage: Configure an S3 compatible object storage provider for uploads
- Google Cloud Storage: Set up image uploads to Google Cloud Storage
- Firewall configuration: Configure a firewall for Discourse
- Cloudflare best practices: Using Discourse with Cloudflare: Best Practices
- CDN setup: Enable a CDN for your Discourse
- Full site CDN: Full site CDN acceleration for Discourse
- Swapfile creation: Create a swapfile for your Linux server
- Host run support: Host run support for launcher
- Caddy setup: Use Caddy instead of NGNIX as your reverse proxy
- Multiple websites: Run other websites on the same machine as Discourse
- Separate PostgreSQL: Configure Discourse to use a separate PostgreSQL server
- Subfolder install: Serve Discourse from a subfolder (path prefix) instead of a subdomain
- Cloudfront reverse proxy: Configure a Cloudfront reverse proxy for a subfolder install
- Slow database recovery: Recover from a very slow database
- Installing themes in app.yml: Install a Theme programatically
Using Docker
- Troubleshooting: Troubleshoot docker installation issues
- SSL setup: Allow SSL / HTTPS for your Discourse Docker setup
- Resource configuration: Configure Discourse Docker on servers with more RAM and CPU
- Multisite configuration: Multisite configuration with Docker
- Migration to Docker: Migrate an old Discourse install to Docker
- Manually update Docker: Manually update Discourse and Docker image to latest
AI
- Self-hosted guide: Discourse AI - Self-Hosted Guide
- Open-source LLM: Self-Hosting an OpenSource LLM for DiscourseAI
- Self-hosted embeddings: Self-Hosting Embeddings for DiscourseAI
Domains
- Domain change: Change the domain name or rename your Discourse
- Let’s Encrypt setup: Set up HTTPS support with Let's Encrypt
- Subfolder setup: Use a subfolder (path prefix) to serve Discourse with multiple servers sharing a domain
Backup & restore
- Backup guide: Create, download, and restore a backup of your Discourse database
- Automatic backups: Configure automatic backups for Discourse
- Command line backup: Backup discourse from the command line
- Command line restore: Restore a backup from the command line
- S3 uploads backup: Enable hidden setting to include S3 uploads in the backups
- DigitalOcean storage: Move Uploads and Backups to DigitalOcean Block Storage
- Development restore: Restore a Discourse backup manually for development
- Server migration: Move your Discourse Instance to a Different Server
- Email checklist: Email delivery configuration checklist
- Email troubleshooting: Troubleshoot email on a new Discourse install
- Google Apps mailbox: Configure mailbox in Google Apps for user-friendly incoming email addresses for discourse categories (with screenshots)
- VERP configuration: Configure VERP to handle bouncing e-mails
- POP3 polling: Set up reply by email with POP3 polling
- Direct delivery: Configure direct-delivery incoming email for self-hosted sites with Mail-Receiver
- Reply troubleshooting: Troubleshoot reply by email
Rake tasks and Rails
- Bulk operations: Administrative Bulk Operations
- Hidden settings: Hidden Site Settings Reference Guide
- Enable hidden settings: Enable Hidden Site Settings
- Enable badge SQL: Enable Badge SQL
- Admin data deletion: Enable setting to allow admins to permanently delete data
- Disable 2FA: Disable 2FA via console
- Upload size change: Change the maximum attachment/upload size
- Apply auto-close: Apply auto-close to existing topics
- Change post ownership: Change ownership of all posts by a specific user
- Convert topics to wikis: Convert all existing topics in category to wikis
- Bulk delete topics: Bulk delete all topics in a category
- Delete all likes: Delete all the likes
- Move topics: Move topics from one Discourse instance to another
- Rebake posts: Rebake all posts matching a pattern
- Replace strings: Replace a string in all posts
- Edit user preferences: Edit a user preference for everyone or a subset of users
- Modify trust levels: Modify trust level for all users
- Logout all users: Logout all users through the rails console
- Create admin account: Create an admin account from the console
- Change staff email: Change staff email address from console
- Award badge: Award a non-custom badge through the console
- Undo warning: Undo an Official Warning
General guides
- Bitnami unsupported: Bitnami installations are unsupported
- CORS setup: Setup Cross-Origin Resource Sharing (CORS)
- Compromise response: What to do if your Discourse is compromised
- Export password hashes: Export password hashes in the PHC format
- Global rate limits: Available settings for global rate limits and throttling
- Logs: Where does Discourse store and show logs?