Independent testing Updated April 2026 387 self-hosting guides 5 VPS providers tested

guide

How to Self-Host Ghost on Linode (2026 Guide)

Learn how to self-host Ghost on Linode with a detailed step-by-step 2026 guide covering setup, configuration, and recommended specs for a smooth deployment.

How to Self-Host Ghost on Linode (2026 Guide)

Ghost is a powerful, open-source platform designed for building websites, especially blogs. It’s lightweight, fast, and provides a great user experience. This guide will walk you through the process of self-hosting Ghost on Linode, one of the most affordable VPS providers available, starting from server setup to getting Ghost up and running.

Prerequisites

Before we dive into the installation steps, ensure you have the following:

Recommended Linode Plan

For hosting Ghost efficiently, a plan with at least 1 GB RAM is advisable, which costs around 5 EUR/month. Here’s a comparison of some of the top VPS providers for context:

ProviderPrice (EUR/USD)RAMDisk SpaceIdeal Usage
Linode5 EUR1 GB25 GB SSDGhost, small apps
Contabo5.99 EUR4 GB200 GB SSDMedium to large apps
Hetzner Cloud4.15 EUR2 GB20 GB SSDLightweight tasks
DigitalOcean6 USD1 GB25 GB SSDGhost, dev projects
Vultr6 USD1 GB25 GB SSDCost-effective hosting

For more options, check our full VPS comparison.

Step 1: Create a Linode Instance

  1. Log in to your Linode account.
  2. Click on the “Create Linode” button.
  3. Choose a suitable OS, preferably Ubuntu 22.04 LTS, by selecting it from the “Distributions” tab.
  4. Select your desired plan (1 GB is fine).
  5. Choose a data center close to your target audience.
  6. Set a label (e.g., “Ghost Blog”).
  7. Click “Create Linode”.

Step 2: Access Your Linode via SSH

Once the instance is up and running, access your server using SSH:

ssh root@your_linode_ip

Replace your_linode_ip with the actual public IP address of your Linode.

Step 3: Configure the Server

  1. Update Your System:
apt update && apt upgrade -y
  1. Install Node.js: Ghost requires Node.js, preferably version 14 or later.
curl -sL https://deb.nodesource.com/setup_14.x | bash -
apt install -y nodejs
  1. Install npm (Node Package Manager):
apt install -y npm
  1. Install Ghost CLI Globally:
npm install -g ghost-cli

Step 4: Create a New User

It’s advisable not to run Ghost as the root user for security reasons.

adduser ghostuser
usermod -aG sudo ghostuser

Switch to the new user:

su - ghostuser

Step 5: Install Ghost

  1. Create a directory for Ghost:
mkdir ~/ghost
cd ~/ghost
  1. Install Ghost:
ghost install

During the installation, you’ll be prompted to provide your blog URL, configure the database, and set up Nginx (a popular web server).

Step 6: Configure Nginx (if not set up automatically)

If you prefer to configure Nginx manually or the installation didn’t do it for you, here are the steps:

  1. Install Nginx:
sudo apt install nginx
  1. Create a new Nginx configuration:
sudo nano /etc/nginx/sites-available/ghost

Add the following configuration:

server {
    listen 80;
    server_name your_domain.com; # change to your domain

    location / {
        proxy_pass http://localhost:2368;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
  1. Enable the site:
sudo ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/
  1. Test Nginx configuration:
sudo nginx -t
  1. Restart Nginx:
sudo systemctl restart nginx

FAQs

What are the benefits of self-hosting Ghost on Linode?

Self-hosting Ghost on Linode allows you complete control over your blog’s environment. You can customize the settings, install plugins as per your needs, and ensure faster load times since you’re leveraging a VPS to manage traffic directly. Furthermore, with Linode’s competitive pricing and robust performance, it’s a reliable choice for developers and homelabbers aiming to optimize their web applications.

Do I need a domain name to run Ghost?

While you can run Ghost using the server’s IP address, having a domain name is highly recommended. A domain name gives your blog a professional appearance and makes it easier for users to find and remember your site. Services like Namecheap or GoDaddy allow you to quickly register domain names that you can easily point to your VPS.

What is the difference between Ghost and WordPress?

Ghost focuses primarily on blogging and provides a clean, minimalistic interface designed for creators. It’s more developer-friendly with a strong emphasis on performance and speed. WordPress, while extremely versatile and extensible, can be heavier and may require maintaining several plugins for optimization. Choosing between them usually depends on your specific use case and whether you prefer simplicity or extensive features.

Conclusion

Deploying Ghost on Linode provides a solid way to create and manage your blog or publication. With its user-friendly interface and powerful features, Ghost combined with Linode’s reliable infrastructure offers a great environment for self-hosting. By following the steps outlined in this guide, you can have your Ghost blog up and running efficiently. Don’t forget to explore the community resources available on r/selfhosted and awesome-selfhosted for further customizations and support.