Ghost 4 was released earlier today which brought some nice new features, mainly a way for you to easily create a subscription for your content.
Note: I am not an expert in Docker, npm, node.js or related technologies. What I am documenting here is what worked for myself.
- Plesk Obsidian – (Version: 18.0.34 is the version I had installed when I did this)
- Docker extension – (I believe this is already preinstalled, correct me on Twitter if I am wrong)
- Go to “Docker”
- In the search box, type in “Ghost” and press enter.
- You will see “ghost” with the [OFFICIAL] tag. Click on the highlighted arrow and choose the latest version (This may say
4.0.1or similar. Do not choose
- This will download the image and bring you to the next screen
Configuring Ghost Docker Container! (😨)
This is the probably the most important part, so please follow things to a T here!
- Container Name: Call this whatever you want, ideally something relating to your site. For this example, we’re calling this
- Check the box for ✅ “Automatic start after system reboot”
- Un-check the box for “Automatic port mapping”
- Manual mapping:
- Manual mapping:
- Volume mapping:
padraig_is_awesomewith your container name at the top of the page!
- Near the bottom of the page, click on “Add Variable”
- In the blank boxes above, type
urlin the first box and your URL (eg:
https://padraigs-blog.comin the second box (Make sure this domain is registered, and added to Plesk)
Your screen should look very similar to this:
- Now, click “OK” and let it install.
- Go back to “Websites & Domains” and find your site, click on “Docker Proxy Rules”
- Click “Add Rule”
- URL: Leave this alone
- Container: Choose your container
- Port: This should say
2368 -> 32778
- Click “OK“
- Give that a couple of minutes for it to work and you can access your site via
padraigs-blog.comwith your own domain name)
And you should be good to go!
Frequently Asked Questions!
What if I want to run a 2nd or 3rd Ghost blog on Plesk?
Repeat the steps above, the only things to change are:
- The “Container Name”
- The port, change it from
- Keep incrementing this by 1 for each new blog your create!
What if I want it at
- Indicate this in the
urlon the setup page.
- And when you add in the rule on the “Docker Proxy Rules” page, add
blogwhere it says “URL”.
I want to move this to/from a subdomain to a naked domain?
- Go into the “Docker Proxy Rules” and remove the rule from here.
- Go into “Docker” on the left-hand side, click on “Settings” beside the container and adjust the
urlin here. This will more than likely restart the container.
- Re-add the “Docker Proxy Rules” to the new subdomain or naked domain.
How do I access the files if I want to import themes or other content?
- Connect via SSH to your server (FTP will not work)
- Navigate to
If there are any other questions, hit me up on Twitter and I will try to help where possible, but as mentioned, I am not an expert! Do not rely on me to resolve your issue. Try StackOverflow, Plesk’s forums, Ghost’s forums, Google, DuckDuckGo.
This was post 4 of the #100DaysToOffload Challenge. 1 year to publish 100 posts on this blog. Check out the other posts that I have done by click on this link here: https://padraig.blog/tag/100daystooffload/