I installed Ghost almost a year ago using Portainer, and was impressed with how easy it seemed, that is until I tried to navigate past the first page of the application.  I quickly realized that the docker container wanted to constantly change the URL I entered into the browser back to localhost.  Now, I've seen this on a lot of applications.  Wordpress, and others use a base URL setting to help the application know how to route different content appropriately.  All of the apps I've seen before have a setting you can reach and set in the Administrative UI somewhere.  Ghost, however, did not seem to have such a setting.

I did some research, and after a bit of clicking around on the internet, I found the answer I needed.  

For Docker installs of Ghost Blog, yo need to set a special ENV (envrionment variable) to tell Ghost the base URL of the install or it will indeed default to localhost.

In the video today I go through:

  • Installing Ghost with Portainer
  • Editing the Template through the Portainer UI to add the url environment variable
  • and briefly, how to add a host entry for our site through NGinX Proxy Manager.

If you don't have Docker, Portainer, and / or NGinX Proxy Manager installed yet, please go take a look at the videos below, and get that setup, then the Ghost Blog install, along with numerous other web applications is made much easier.

Installing Docker, Docker-COmpose, and NGinX Proxy Manager
Install Portainer via Docker