Skip to content

Instantly share code, notes, and snippets.

What would you like to do?

Set up Discourse on GoDaddy in under 30 minutes with zero knowledge of Rails or Linux shell using our Discourse Docker image. We recommend DigitalOcean, but these steps have been modified to describe setting up a GoDaddy cloud image and prepare it for using the standard install guide.

Create New Cloud Server

Sign up for a GoDaddy Cloud server, update billing info, then create your new server.

  • The hostname you choose does not matter. In the next section you will assign your domain name to this server.

  • Choose a username and password (or SSH key if you have one)

  • The default Ubuntu 16.04 image works fine. At minimum, a 64-bit Linux OS with a kernel version of 3.10+ is required.

  • Select a data center that is geographically close to your audience.

  • The "Small" server with 1024 MB RAM works fine for small Discourse communities. We recommend 2048 MB RAM for larger communities.

Click "Finish" to create your new server.

Connecting your domain name to your server

Click the "IP & DNS" tab or click this link. Click the Add Domain to IP button for your public address and select your GoDaddy domain from the pull-down list.

Access Your Cloud Server

Connect to your server via its IP address using SSH, or Putty on Windows:


Enter the password you used when you created your server (not needed if you used an SSH key).

Fix Routing

Some extra steps are required to ready your GoDaddy server for use with Docker (see this page for more information). You will need the public and private IP numbers for your server. To find them, access the cloud server page, and click on your server name.

The following lines need to be added before the exit /etc/rc.local` and the first two lines edited to include your public and private IP numbers.

iptables -t nat -I POSTROUTING ! -o docker0 -j SNAT --to $PUBLIC
piptables -t nat -I POSTROUTING -s -d ! -o docker0 -j SNAT --to $PRIVATE
iptables -t nat -I POSTROUTING -s -d ! -o docker0 -j SNAT --to $PRIVATE

One way to do this is by using nano. Type

sudo nano /etc/rc.local
  • use the arrow keys to move the cursor to the line above exit 0
  • paste in the above 5 lines
  • use the arrow keys to put your public and private IP numbers in the first two lines
  • type control-x to exit
  • type y to save and then enter to accept the file name.

/etc/rc.local is run automatically when the server boots. To run these commands now you need to either reboot your server or type:

sudo su -

That's it! Now you can follow the standard install instructions.

Go to the starting at Install Docker/Git

Go to the Install Guide

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.