Discourse Self-Hosting FAQ
To place an order for Discourse installation see this list of installation packages. The $250 Standard Install is full-featured, with a recommended set of standard plugins and reply-by-email configured on a $10/month droplet with room to grow. For those with a minimal budget, the $150 lite install provides a basic installation with only $5/month hosting charges.
The simplest and most trouble-free way to use Discourse is by having your site professionally managed by discourse.org (Literate Computing, LLC is not affiliated with CDCK/discourse.org). Those who cannot afford $100/month can use the very same software on a server under their own control for $5 to $10/month. Those who are at all familiar with a unix command line should find the “INSTALL-cloud” instructions reasonably easy to follow.
Even for those familiar with vi
and grep
, getting a mail delivery service configured and providing the credentials to Discourse is a bit of work. Literate Computing offers a range of installation packages. This document is designed to answer questions about self-hosting so that you can decide if it is a solution for you.
What do I need to do to place an order and get started?
- Create a Mailgun Account. You must provide Mailgun with a credit card number and validate your email address. Failing to do so will cause the installation to fail and you will need to re-submit your order (free of charge) when the problem has been corrected.
- Create a Digital Ocean account. Using this referral link you will get a $100 credit good for your first 60 days, making your first two months free.
- Place your order, including your Mailgun and DigitalOcean API keys and your desired Discourse host name (e.g., forum.example.com).
- Wait about 10 minutes for an email with instructions (see an example), and create the DNS records that it outlines.
- Wait for DNS to propagate (usually a few hours). When those changes reach Mailgun and the Literate Computing servers, a script will complete the Mailgun configuration, enable https, and, if your package includes them, install plugins, and configure the mail server. When those processes are complete, you will receive another email letting you know that the job is done.
- Visit your site, create your account, and run the setup wizard.
NOTE: Installation services include only installing Discourse, not any support configuring Discourse, or domain registration or DNS setup. The installation job is done when your setup is properly functioning and you have successfully logged in an run the setup wizard. If you need help after that, you can seek free help on https://meta.discourse.org/, or pay me for priority support.
What does an installation package include?
- Discourse installed and configured on a 1GB RAM, 25GB SSD ($5/month) Digital Ocean droplet (that my script will create); the Standard Install includes a 2GB, 50GB SSD ($10/month) droplet. If you can afford the $10/month, I highly recommend it.
- Detailed instructions (see an example) to finish your part of the installation, which includes creating some DNS records and clicking a button on the Mailgun site.
Note: You must create your own Digital Ocean and Mailgun accounts and provide me with API keys. You do not need to do anything other than create the accounts, provide both vendors with means of payment, and send me the API keys. Our script does the rest!
What are the trade-offs between a “self-supported” install and the $100/month standard hosting offered by Discourse.org?
If you can afford their services, that’s what you should do. The advantages of buying one of the hosting plans offered by Discourse.org (with whom Literate Computing, LLC is not affiliated) include:
- having a professional team distributed across all the time zones that makes sure that your site is always up and running the latest revision
- increased likelihood that new features that you want will be added to Discourse
With your self-hosted site, you are responsible for doing upgrades of Discourse and the operating system, backups, and so on (though if you need help with these tasks, I am available). If something goes wrong, no one else is responsible for noticing the problem and resolving it. You can ask for help on meta.discourse.org, and hundreds of people are running Discourse this way.
Do I get the Full Version of Discourse? Are there any limitations?
Discourse is Open Source Software. You get the very same code used by discourse.org and virtually every Discourse site. There are no limits on the number of admins, users, or posts imposed by the software. You can change the software however you want, though you should make any customizations with themes or plugins.
Where do I find my DigitalOcean API key?
After you have created your account, verified your email address, and provided credit card details, visit the Digital Ocean API page, click the “Generate New Token
” button to generate a token, enter “literate computing” (or any name you like) for the name, and click the token (a string of 64 numbers and letters) to copy it. It displays only once, so either paste it directly to the order page, or save it somewhere until you place the order.
Where do I find my Mailgun API Key?
After you have verified your email address and provided a credit card number, visit the the Mailgun account/security/api keys page (if that link doesn’t work or is a blank page, make sure that you are logged in and enable the new interface). On that page click the eyeball icon on the right to be able to see and copy the Private API Key.
Do I have to use a subdomain name like forum.example.com?
You can use any domain name that you own and control. In almost every case, it is best to use a subdomain like www.example.com or forum.example.com for your Discourse site. This is especially true if you would like to use your example.com domain to send and receive email. If you would prefer to have Discourse in a sub-folder I have a $1500 installation package that does that.
What will self-hosting Discourse cost each month?
Depending on your installation package, the install script will create a 1GB or 2GB Digital Ocean “droplet” for which they charge $5 or $10/month. Mailgun will deliver the first 10,000 messages/month for free. (The next 10,000 is $5; you can see the Mailgun pricing page for more information.)
What is required to keep Discourse up to date?
I set up your Discourse install on the “tests-passed,” branch. That’s the code that the folks at discourse.org use for their customers, and keeps you up with the latest changes (there is a “stable” version, but it is recommended only for advanced system administrators who have very specific needs). When a new version is available, admins on your site will get an email notification with a link to the upgrade page. From there, you can click to update Discourse. Generally, these updates are safe, especially if you do not have any nonstandard plugins installed, but it is prudent to wait a few days after a release. If there are problems, they are usually sorted out pretty quickly.
I also enable unattended operating system upgrades as recommended here and enable automatic reboots to ensure that if your system needs to be rebooted to install critical security patches, it will reboot to install them. See this post for more information about maintaining your Droplet and this Digital Ocean document for their recommendations.
A few times a year, the base Docker image that Discourse uses must be upgraded and this requires rebuilding from the command line. To do this you log into your droplet and issue these commands:
cd /var/discourse
git pull
./launcher rebuild app
If this is required in the first six months after your installation, reply to your final installation email asking for an update and I will do this for free. If you prefer not to worry about this, I offer a service where I will do these upgrades automatically when they are required. See this page for details.
Is a 1GB Droplet sufficient?
For most small communities, yes. During Discourse upgrades (either from the web interface or the command line), however, substantial memory is required and swap space is required. If you anticipate having a large community, using plugins, or can just afford an extra $5/month I recommend the 2GB droplet. Keeping things down to 25GB of SSD space included with a 1GB droplet requires continual disk space cleanup and leaves little room for backups.
What my server crashes or I need help getting Discourse do what I need it to?
Though your self-hosted install does not include support beyond the initial installation, free support is available at meta.discourse.org. If you cannot get the help that you need there, or do not wish to ask questions publicly, I also offer personal consulting services. See these offerings or email support@literatecomputing.com and let me know what you need. If you want your own personal help desk to help you navigate hundreds of settings, I can do that.
If your server
I already have a website. Can I still have Discourse installed on Digital Ocean?
Yes, in fact, that is the easiest solution. Keep your current site just as it is and install Discourse on a sub-domain (like forum.example.com). If you use WordPress, you can use the wp-discourse plugin to connect your WordPress site (wherever it is hosted) with your self-hosted Discourse install. It is possible, but much more complex, to have Discourse running with other servers; if you would like to have WordPress and/or Ghost running with Discourse on a single server I have a $1500 installation package that does that.
Are Digital Ocean and Mailgun required?
My installation script is fully automated for installation on Digital Ocean and automatically configures Mailgun. For an additional $100 we will install Discourse on any system that supports Docker (see this topic I wrote on Meta for some recommendations). You will need to add the custom server product to your order and see add my SSH keys to the server as described there. Note that you need to have full root access to the server; if your current server is a shared hosting configuration that uses cpanel or something like it, you cannot install Discourse there.
If you prefer to use some other mail service other than Mailgun I will configure Discourse to use it for $100. You will need to add (perhaps a second) the custom server product to your order and provide the SMTP host, username, password, and port. You are responsible for seeing that the server is properly configured to deliver mail for your Discourse subdomain.
Is my language supported?
I don’t know, but you can find out by creating an account at try.discourse.org and then clicking the avatar, the gear, and clicking the interface tab (or use this link after you’ve created an account). To see how complete a translation is and/or to contribute to translation, see Transifex.
Can I move from one hosting option to another?
Yes. In broad strokes, you make a backup, download it, and restore it to the new site. You can see this howto for detailed instructions, as there can be complications with getting mail and uploads working correctly on the new site. If you need help moving your data from a hosted instance to a self-hosted instance that I created, please see this page.
What should I do about backups?
In Discourse settings, you can turn on automatic backups enabled
, and set backup frequency
and maximum backups
to whatever values you deem appropriate. If you have a backup file, you can restore it to any Discourse instance and you will have everything you need. You can also use Digital Ocean Snapshots to keep backups of your entire server.
Though keeping backups on your server is good, having them somewhere else is better. For sites that I manage, I push backups to Amazon S3 or Digital Ocean Spaces as described here that simplifies restoring to a new server in an emergency.
What if self-hosted Discourse does not meet my needs?
I earn my living solely from Discourse consulting and (not surprisingly) believe that it is the best forum package available. I have done hundreds of installations and continually refine the installation process to make it as simple and fast as possible for you (and for me–it is now fully automated in most circumstances!).
Try Discourse risk-free. If within 30 days of your Discourse installation you decide that self-hosting Discourse is not for you for any reason, I will delete your droplet and refund your money.
How are you connected with the Discourse.org?
I am not affiliated with Civilized Discourse Construction Kit, Inc, except as a contributing member of the Discourse Community.