GridPane is pleased to announce that we’ve accepted a strategic investment from Automattic: Read all about it

Troubleshooting: Custom Server Won’t Provision and is Stuck at 10%

2 min read


Having a server fail to provision can be frustrating, but hopefully the tips in this article will help you get yours up and running.

Before anything else, these are generally when we see servers fail on the rare occasions that they do: 

  1. 10% – We couldn’t connect to the server
  2. 25% – Nginx install from repo failed
  3. 50% – Percona install from repo failed
  4. 90% – PHPMyAdmin install from repo failed

You can learn more about this here: 
Why do some servers fail to provision correctly?

If your server didn’t fail at 10%, then it’s likely that everything you set up was correct. You may need to simply repeat the process as it was likely a minor repo outage.

If it did fail at 10%, continue below.

Troubleshooting tips

1. Check your Ports

First, check ports 22, 80, and 443 are definitely open – they aren’t always open by default on some providers, and some require these to set manually via ingress rules (Oracle and IBM for example).

If you’re unsure, search for your host and “ingress rules” in Google to check for their documentation.

2. Did you use the correct Ubuntu Version?

GridPane requires Ubuntu 18.04 LTS. Our stack won’t work with a minimal version or any other Ubuntu version (we get asked this one a lot).

If the provider you’re using only offers minimal images and not full Ubuntu 18.04 LTS, you can install the minimal version, and then on the server run the following command before our provisioning code:

sudo apt install ubuntu-server

After this, proceed as normal.

3. Provisioning code ran as the root user?

Did you definitely run our provisioning code as the root user? Depending on the provider, they may log you in as a system user that they themselves have created.

Before pasting our provisioning code, first run:

sudo -s


sudo sh

The Provisioning Code Results in an Error

If you’re seeing an error after entering our provisioning code, the provider’s console is likely making a mess of the formatting.

We see this with Hetzner from time to time, changing “https://” to “https;//” for example, or appending http:// before https:// like this:


Hit the up key to check the code, and correct the mistakes. Hit Enter to run the code again when you’re ready.

Starting Over

It’s better to start with a fresh server, however, you can try the following steps on the failed server if you’d like to first retry:

Step 1

First, delete the server out of the GridPane UI.

Step 2

On the server, run the following command:

rm -r /opt/gridpane

Step 3

Add the server back to the UI.

Step 4

Run the new provisioning command.