Save money by managing your own Discourse Install rather than using a hosting company. I will configure Mailgun, a mail delivery service, create a Digital Ocean virtual host (in the “cloud”), and install and configure all of the software needed to make Discourse work for you and your community.
My Discourse Install includes the following:
- Discourse installed on a 1GB RAM, 30GB SSD ($10/month) Digital Ocean droplet that I will create and configured for your domain name as described in the Install-cloud documentation.
- 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 your accounts, provide both vendors with means of payment, and send me the API keys. See API Key instructions below.
Here’s what you need to do:
- Create a Mailgun account. Though delivering the first 10,000 messages per month is free, credit card payment information is required to use their service. I recommend that you click the “add payment info now” box to save the step of adding it later.
- Create a Digital Ocean account (if you use my referral link you will get a $10 credit, making your first month free).
- Provide me with:
- Pay $99.
- Wait (usually less than 1 business day).
- Follow my easy-to-follow instructions to create DNS records required for accessing your site and enabling mail delivery.
- Activate your domain on Mailgun by clicking a button on their site.
- Build your community!
This service includes only installing Discourse, not any support configuring it, or domain registration. My job is not done until your setup is properly functioning and can send mail.
If you need more assistance after your install is complete, I offer additional consulting services. See these offerings or email firstname.lastname@example.org and let me know what you need. Examples include
Frequently Asked Questions
What is a “Community Install”?
I will install and configure Discourse for your community.
I am not a techie. Will I be able to get this up and running?
Yes. I will send you instructions to make changes to your DNS records: one for the address of you site, and two TXT records required for mail delivery. After that, you will need to log in to Mailgun and click a button to get Mailgun to verify those records and activate your domain.
What do I pay after the installation?
I create a 1GB Digital Ocean “droplet” for which they charge $10/month. Mailgun delivers 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 an API Key? How do I get one?
An API key is a unique identifier, sort of like a password, that allows my scripts to create Digital Ocean Droplets and configure Mailgun without logging in to the web interface. Before you create your installation order, go to the Digital Ocean API page, click the “Generate New Token” button to generate a token, type any name you like, and click the token (a string of 64 numbers and letters) to copy it. After the token is created, you cannot see it again, so paste it somewhere you can find it when you place your order. If you lose it, just create a new one.
On the Mailgun Dashboard on the right hand side, just under Account Overview, you should see something like the image below. Click the eyeball icon on the right to be able to see and copy the Secret API Key. It comprises “key-” (not “pubkey-“) plus 32 letters and numbers.
I already have a website. Can I keep it and have Discourse 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.
What domain name can I use? Does my domain name have to be forum.example.com?
You can use any domain name that you own and control. You can make your forum be example.com or www.example.com. Most often, however, people already have another site at example.com, so most people use a name like forum.example.com.
Is a 1GB Droplet sufficient?
For most small communities, yes. During upgrades, however, substantial memory is required. Sometimes upgrades fail and you need to rebuild Discourse from the command line. (See Help!, below.) If you anticipate having a large community or using plugins, you should consider a 2GB droplet.
Must I use Digital Ocean? Can I use another service?
Most people use Digital Ocean for their Discourse sites. I do not remember any complaints on Meta complaining about Digital Ocean’s reliability since I started following it in Spring of 2015. I can install Discourse on other systems that support Docker. Typically this requires a minimum of 2 hours of my time. I can install Discourse on other compatible platforms as a Custom Install. If you have shared hosting that uses cpanel or something like it, you cannot install Discourse there.
Do I get the Full Version of Discourse? Are there user or admin limits?
Discourse is Open Source Software. You get the same code that runs virtually every Discourse site. There are no limits on the number of admins, users, or posts imposed by the software. To keep things as simple and trouble-free as possible, this install does not include any plugins. If you would like plugins for additional functionality, I will be happy to install some (my install instructions include a coupon code for a discount).
How do I get my site encrypted with https?
In order to do this, you have to have the DNS for your domain name pointing at your Discourse instance. After you have done the install and made the DNS changes, you can either follow these directions on meta or get me to do it. My install instructions include a coupon code for $50 off.
Help! Something went wrong when I upgraded!
Though 1GB is enough memory to run Discourse for many communities, more memory is required during upgrades. If something goes wrong, you can enlist my services. Often, however, (and especially if you have not installed any plugins) all that is needed is to log in to your server via ssh or Digital Ocean’s console and issue these commands:
cd /var/discourse git pull ./launcher rebuild app
If in the first six months you need a rebuild (as shown above) and you have not removed my SSH key, I will do one for free; send me an email that includes your host name, and I will do it as soon as possible.
What are the trade-offs between a “self-supported” install and the $100/month standard hosting offered by Discourse.org?
The advantages of buying one of the hosting plans offered by Discourse.org include:
- having a professional team distributed across the globe 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.
What is required to keep my 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. When a new version is available, admins 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 enabled unattended 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.
What about backups?
In Discourse settings, you can turn on automatic backups enabled, and set backup frequency and maximum backups. If you have a backup file, you can restore it to any Discourse instance and you will have everything you need. Of course, having your backup file where you can get it. I can install is a Dropbox plugin that will sync your backups to your Dropbox.
If you take a snapshot of your Droplet you can create a new droplet that will have Discourse running on it and then upload and restore your backup.