Migrating to Discourse
- SMF2: Migrate an SMF2 forum to Discourse
- Vanilla: Migrate a Vanilla forum to Discourse
- PunBB: Migrate a PunBB forum to Discourse
- Kunena 3: Migrate a Kunena 3 forum to Discourse
- Phorum: Migrate a Phorum forum to Discourse
- UseResponse: Migrate a UseResponse forum to Discourse
- vBulletin 3 via XenForo: Migrate a vBulletin 3 forum to Discourse via XenForo
- XenForo: Migrate a XenForo forum to Discourse
- MyBB: Migrate a MyBB forum to Discourse
- IPB 3.1: Migrate an IPB 3.1 forum to Discourse
- NodeBB (MongoDB): Migrate a NodeBB forum with MongoDB to Discourse
- Jive Clearspace: Migrate a Jive Clearspace forum to Discourse
- NodeBB (Redis): Migrate a NodeBB forum with Redis to Discourse
- MVCforum: Migrate from MVCforum to Discourse
- vBulletin 4: Migrate a vBulletin 4 forum to Discourse
- Heroku: Migrate from Heroku to a supported installation
- MySQL import script: Use an import script that requires MySQL
Installation
- CloudPanel: Install Discourse on CloudPanel
- Cloudflare Tunnel: Install Discourse on a residential internet with Cloudflare Tunnel
- AWS: Install Discourse on Amazon Web Services (AWS)
- CentOS 7: Install Discourse on an isolated CentOS 7 server
- AWS with Lightsail: Install Discourse on Amazon Web Services (AWS) with Lightsail, SES, and Route 53
- Oracle Cloud Free Tier: Install Discourse on Oracle Cloud Free Tier
- Vultr and import: Install Discourse on Vultr and import from Kunena3
- Detailed install guide (Chinese): 🇨🇳 Detailed installation guide + control panel | 超级详细教学安装discourse+控制面板
General guides
- Set up staging server: Set up a staging server
- Install Docker with AUFS on Linode: Install Docker with AUFS on Linode
- Resolve Cloudflare Auto Minify error: Resolving "SyntaxError: Unexpected identifier #..." caused by Cloudflare Auto Minify
- HAProxy and Varnish with Discourse: Use HAProxy and Varnish with Discourse
- Destroy all permalinks: Destroy all permalinks
- Self-signed cert for emails: Use a self-signed cert with Discourse for emails
- Preserve sessions during migration: Preserve user sessions when migrating to a new host
- Google Cloud S3 tips: Tips on Google Cloud S3
- Let’s Encrypt with www redirect: Setup Let’s Encrypt + non-www > www
- Google Workspace SMTP relay: Configure Google Workspace as a SMTP relay
- Build a testing sandbox: Build a sandbox to test changes before making them live
- Extract visible post content: Bookmarklet to extract the contents of the topmost visible post
- Apache proxy with Let’s Encrypt: Configure Apache proxy with Let's Encrypt
- Migrate to separate containers: Migrate quickly to separate web and data containers
- Customize Postfix configuration: Customize direct-delivery Postfix configuration
- Encrypting data at rest: Encrypting data at rest
- Configure email authentication: Configure authentication checks on incoming email
- Nginx Proxy Manager setup: Use Nginx Proxy Manager to manage multiple sites with Discourse
- Undo change timestamp: Undo change timestamp
- Check PostgreSQL index integrity: Use amcheck to Check PostgreSQL Index Integrity (Corruption)
- Sync backups with rclone: Use rclone to sync backups to Dropbox or Google Drive
- Change Docker storage backend: Change the Docker storage backend
- Upload backups to Dropbox: Upload backups to Dropbox with crontab and dropboxd
- Multiple Docker containers setup: Use multiple Docker containers without exposing ports
- Setup on Azure: Setup Discourse on Azure
- Use DreamHost SMTP: Use DreamHost SMTP for outgoing email
- Multisite with Let’s Encrypt: Setup Multisite Configuration with Let's Encrypt and no Reverse Proxy
- Migrate to separate containers: Move from standalone container to separate web and data containers
- Database statistics: Get basic database table, size and count statistics
- Backup best practices: Best Practices for Backups
- Restore all user posts: Restore (undelete) all posts by a user
- Filter bad sender domains: Filter known-bad sender domains from your mail-receiver
- Copy backups with rsync: Copy backups to another server with rsync and cron
- Multiple instances with Fastmail: Use one Fastmail account to serve multiple Discourse instances
- Set featured topic link: Set or update a featured topic link via the rails console
- Use Protonmail Bridge: Use Protonmail Bridge with Discourse
- Add offline page: Add an offline page to display when Discourse is rebuilding or starting up
- Use taobao mirror: Replace rubygems.org with taobao mirror to resolve network error in China
- Restrict access with HTTP Auth: Restrict access to your Discourse site with HTTP Basic Authentication
- Ansible Playbook for install: Ansible Playbook to install Docker, Discourse and Postfix
- Inbound email testing tip: Tip: when testing inbound email with fake user accounts
- Add custom HTTP header: Add a custom HTTP header to requests made to your Discourse
- Add Docker container label: Add a label to the Docker container
- Configure MAXMIND for IP lookups: Configure MAXMIND for reverse IP lookups
- Force SSL through CloudFlare: Force Discourse to use SSL/HTTPS through CloudFlare
- Serve static file: Serve Static File
- MKJ’s deployment configuration: MKJ's Opinionated Discourse Deployment Configuration
- Rearrange topics and categories: Script framework to rearrange topics and categories
- Let’s Encrypt with multiple domains: Set up Let’s Encrypt with multiple domains / redirects
- Configure Mailgun with Digital Ocean: Configure Mailgun for email when using Digital Ocean for DNS
- Sieve rules for vacation replies: Sieve rules for Vacation Email Replies
- BackBlaze S3 with BunnyCDN: Set up BackBlaze S3 with BunnyCDN
- Configure AWS SES for email: Configuring AWS SES for outgoing, bounce, and incoming email
- Setup with KeyCDN: Setup Discourse with KeyCDN
- Ansible playbook for updates: Ansible playbook for updating Discourses
- Image uploads to Google Cloud Storage: Set up image uploads to Google Cloud Storage
- iRedMail aliases for incoming email: Use aliases in iRedMail for categories with incoming email feature enabled
- Restore deleted long topic: Restore a long topic that has been deleted
- Move site to another VPS with rsync: Move a Discourse site to another VPS with rsync
- Download backup with wget: Download a backup with `wget`
- Manual backup and restore: Manually create and restore Discourse backups
- Update mail-receiver: Update mail-receiver to the release version
- Setup with existing Apache sites: Set up Discourse on a server with existing Apache sites
Translations
- Official install guide (Chinese): 🇨🇳 Discourse Official Install Guide | Discourse 云平台安装
- 500 error during upgrade (Chinese): 🇨🇳 500 error when upgrading Discourse | Discourse 升级时候 500 错误
- Forum activation email issue (Chinese): 🇨🇳 Discourse forum activation email issue | Discourse 论坛激活邮件问题
- Configure MAXMIND for IP lookups (Chinese): 🇨🇳 Configure MAXMIND for reverse IP lookups | Discourse 如何配置 MAXMIND 来对 IP 地址反向查询
- Change max upload size (Chinese): 🇨🇳 Change the max size of uploads/attachments | Discourse 修改上传附件的大小
- CloudFlare IP issue (Chinese): 🇨🇳 The IP address in Discourse’s user information shows CloudFlare’s IP address | Discourse 的用户信息中的 IP 地址显示的是 CloudFlare 的 IP 地址
- Change domain name (Chinese): 🇨🇳 How to change the domain name | 如何修改 Discourse 的域名
- Backup to S3 (Chinese): 🇨🇳 How to back up Discourse to S3 | Discourse 如何备份到 S3
- Clear storage space (Chinese): 🇨🇳 How to clear storage space in Discourse | Discourse 清理存储空间的方法