Create server on Digital Ocean

Misago requires a server with at least 1GB of memory to work. At first, this may sound excessive, but unlike shared hosting providers where memory usage is tracked per app, on a VPS, every single program running on your server will contribute to the memory limit.

The good news is that 1GB of memory is enough for even larger and active Misago communities, so you will not have to worry about hosting costs growing anytime soon.

Creating a server

Go to the Digital Ocean website. Sign up if you don't have an account or log in if you do.

You will now see DigitalOcean's cloud management panel. Click the green "Create" button and select "Droplets":

If this is your first time encountering the name "Droplet," don't be confused: it's just a DigitalOcean term for a "server in the cloud."

Choose a region

In the "Choose Region" section, you will see a list of flags and region names:

Sadly, there is no "right" choice for a region. As a rule of thumb, the closer the site is located to the users, the faster it should load for them.

For example, selecting Frankfurt, Amsterdam, or London should result in the best response times for people in Europe, but the site may load a little longer for users from the US or Asia. Similarly, choosing Singapore or Bangalore would be more suitable if your primary user base is from Asia.

My site will be primarily targeted at users from Poland, so selecting Frankfurt as the region is the best choice.

Picking the droplet image

You will be asked what image to use to create your droplet. Under "Choose an image", select "Marketplace", and then "Docker":

Note that the version numbers after "Docker" may differ from the ones shown in the screenshot. This is okay.

The droplet size

Next, proceed to "Choose Size" where you will find several options available. DigitalOcean may suggest the "$56" "Premium Droplet," but instead, select the regular $6 droplet that provides 1 CPU and 1 GB of memory:

Why not pick one of the "Dedicated CPU" droplets? Those provide you with much more CPU power than the standard ones, but the majority of web applications don't require a lot of CPU power. Instead, they handle tasks such as receiving HTTP connections, executing simple and short-lived tasks, reading data from a database, creating HTML documents, and sending them back to the user. The heaviest workload your site is likely to encounter is generating thumbnails for user-posted images, which doesn't happen continuously and is still less intensive than, for example, encoding 1.5TB video files for streaming (which Misago doesn't do).

Authentication method

You will have to decide how you will log in to your server. If you are familiar with SSH keys, it's recommended to use this method. Otherwise, the password option is good enough, provided that you use a secure password:

Additional options

After selecting the authentication method, check the "improved metrics monitoring and alerting" option. This will allow you to monitor your server's resources from the DigitalOcean cloud panel. Next, click on "Advanced Options" and select IPv6:

Finalize and create the droplet

The final step for Droplet creation is selecting how many droplets you wish to create and how they should be identified:

Make sure the droplet count is showing "1 Droplet". Customizing the "hostname" is optional, but it will make it easier to recognize your droplet in the DigitalOcean panel. In this case, I've decided to use "misago-forum" for my droplet's hostname.

There are other options available, such as tags or projects, but you can safely ignore them. Those options are only useful for people who need to manage many droplets.

Click the large "Create" button at the bottom of the page. You will be taken back to your dashboard, where you will see your droplet listed on the "Droplets" list:

When the droplet creation process finishes, the progress bar will be replaced with the IP address assigned to it:

Next guide: Point domain at your server

Last updated