- Hosting and publishing
- Linux VPS
- Ubuntu 24.04
Self-host Ghost on a VPS
Ghost runs well on a GhostRDP Linux VPS Basic plan with 2 vCPU and 6 GB RAM in Germany or the Netherlands, from €5.99/mo.
Ghost is an open-source publishing platform for blogs, magazines and paid newsletters. This guide follows Ghost's official Ubuntu install: nginx, MySQL, Node.js and Ghost-CLI, which sets up HTTPS for your domain.
Clean editor
Write posts and newsletters in Ghost's editor.
Members and newsletters
Free and paid memberships built in.
HTTPS set up for you
Ghost-CLI configures nginx and the certificate.
Plans for Ghost
Ghost asks for at least 1 GB of memory. Basic runs a typical publication; pick Standard for large sites or many members.
Linux VPS Basic
€5.99/mo
€5.09/mo billed yearly, save €10/year
- 2 vCPU
- 6 GB ECC RAM
- 40 GB NVMe
- 1 Gbps port
Linux VPS Standard
€12.99/mo
€11.04/mo billed yearly, save €23/year
- 4 vCPU
- 8 GB ECC RAM
- 70 GB NVMe
- 1 Gbps port
Linux VPS Pro
€25.99/mo
€22.09/mo billed yearly, save €46/year
- 6 vCPU
- 12 GB ECC RAM
- 90 GB NVMe
- 1 Gbps port
What you need
- Operating systemLinux VPS with Ubuntu 24.04 (Ghost supports 22.04 and 24.04)
- Minimum resources1 GB RAM (Ghost's minimum)
- DomainA domain with an A record pointing to your server's IP
Official site: docs.ghost.org
How to install Ghost
Written for Ubuntu 24.04 from the official instructions. Run the commands as root and replace YOUR_SERVER_IP with your server's address.
- 1
Connect to your server over SSH
Use the IP address and root password from your welcome email (the server page has a Copy SSH command button). Windows 10 and 11, macOS and Linux all include an SSH client in the terminal.
Shell ssh root@YOUR_SERVER_IP - 2
Update the system
Install the latest security updates before you add anything else.
Shell apt update && apt -y upgrade - 3
Create a user for Ghost
Ghost-CLI should not run as root. Pick any name except ghost, which clashes with Ghost-CLI.
Shell adduser blogadmin usermod -aG sudo blogadmin - 4
Install nginx and MySQL
Ghost's guide then sets a MySQL root password so Ghost-CLI can create the database. Replace the password.
Shell apt install -y nginx mysql-server mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH 'mysql_native_password' BY 'choose-a-strong-password';" - 5
Install Node.js 22
From NodeSource, as in Ghost's guide. Check Ghost's supported Node.js versions if you read this much later.
Shell apt install -y ca-certificates curl gnupg mkdir -p /etc/apt/keyrings curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" > /etc/apt/sources.list.d/nodesource.list apt update && apt install -y nodejs - 6
Install Ghost-CLI and Ghost
Switch to your new user, create the site folder and run the installer. It asks for your URL (use https://), the MySQL details and offers to set up nginx, HTTPS and systemd: answer yes.
Shell npm install ghost-cli@latest -g su - blogadmin sudo mkdir -p /var/www/mysite sudo chown blogadmin:blogadmin /var/www/mysite sudo chmod 775 /var/www/mysite cd /var/www/mysite ghost install
After installing
- Admin areaOpen https://your-domain/ghost to create the owner account.
- Email and newslettersOutgoing mail ports (25, 465, 587) are blocked by default on our servers. Newsletters use Mailgun in Ghost; for other mail, unlock the ports with the mail add-on or use a provider's API.
- UpdatingAs the Ghost user, in the site folder: ghost update. Back up first with ghost backup.
Ghost questions
Which plan do I need for Ghost?
Basic for a typical blog or newsletter. Standard for large sites or many members.
Is Ghost free to self-host?
Yes, Ghost is open source under the MIT license. Ghost(Pro) is their paid hosting, which you don't need here.
Can I run Ghost in Docker instead?
Ghost also publishes Docker setups. This guide follows the official Ubuntu method with Ghost-CLI.
Do I need a domain?
Yes. Ghost-CLI sets up HTTPS for your domain, so point an A record at the server before you install.
Related apps
WordPress
WordPress in Docker with free HTTPS by Caddy
Hosting and publishingFrom €5.99/mo
CloudPanel
Free control panel for PHP, Node.js and Python sites
Hosting and publishingFrom €5.99/mo
Uptime Kuma
Self-hosted uptime monitoring and status pages
MonitoringFrom €5.99/mo
More on GhostRDP
Run Ghost on your own server.
Online in minutes. Pay with crypto, no ID needed.