Ghost Hosting

Ghost(Pro) makes setup simple - and charges accordingly as your audience grows. A self-hosted Ghost instance on a VPS delivers the same publishing platform at a flat monthly price, regardless of how many subscribers you have. Ghost CLI installs and configures Node.js, MySQL, Nginx, and SSL automatically. You connect to your server, point it at your domain, and run one command.

Important: Ghost CLI officially supports Ubuntu 20.04, 22.04, and 24.04 LTS only. If you're ordering a VPS specifically for Ghost, choose Ubuntu at checkout.

What Ghost CLI handles for you

Self-hosting a Node.js application with MySQL, Nginx, and SSL is not trivial to configure from scratch. Ghost CLI removes that problem. It's the official command-line tool for installing and managing Ghost - and it handles the full environment setup automatically, not just the application itself.

ghost install - the full stack in one command

Ghost CLI installs Node.js (the correct version for your Ghost release), MySQL 8, Nginx (with a pre-configured server block and reverse proxy), and Certbot with a Let's Encrypt SSL certificate - all from a single command. By the time ghost install finishes, your publication is live at your domain over HTTPS. No manual Nginx configuration, no separate Certbot setup, no MySQL database creation by hand.

Process management via systemd

Ghost CLI configures a systemd service for your Ghost instance automatically. Your publication restarts on crash and survives server reboots without any additional configuration. ghost start, ghost stop, and ghost restart manage the process from the command line.

Safe updates via ghost update

Updating Ghost is a single command. Ghost CLI backs up your database, downloads the new release, applies database migrations, and restarts the service. If something goes wrong, it rolls back. You do not manage Node modules, database migrations, or process restarts manually.

Multiple publications via ghost ls

Ghost CLI supports multiple Ghost instances on a single server. Each instance runs on a separate internal port; Nginx routes traffic to the correct instance based on the domain. ghost ls lists all instances and their status. Useful for agencies managing several client publications or for running a personal blog alongside a paid newsletter publication.

ghost doctor - configuration diagnostics

If something is not working as expected, ghost doctor checks your environment and flags configuration issues - wrong Node version, missing system user, port conflicts, or MySQL connection problems. It is the first step to take before opening a support ticket anywhere.

Plans

Ghost runs alongside MySQL on the same server, and MySQL is memory-hungry. The combined RAM usage of Ghost and MySQL means VPS-1 is the minimum - and it is tight. VPS-2 is the recommended starting point for most Ghost publications.

VPS-1 Low-traffic blogs or testing - Ghost + MySQL uses most of the available RAM VPS-2 Most Ghost publications - comfortable headroom for Ghost, MySQL, and traffic spikes VPS-4 High-traffic publications, large member lists, or multiple Ghost instances VPS-6 Large-scale publications or agencies running many Ghost sites on one server
vCPU1246
RAM1GB DDR52GB DDR54GB DDR58GB DDR5
Storage25GB NVMe50GB NVMe100GB NVMe200GB NVMe
Bandwidth1TB2TB4TB6TB
IPv41111
Price[price][price][price][price]
Deploy your VPS. Deploy your VPS. Deploy your VPS. Deploy your VPS.

These are renewal prices. What you pay today is what you pay next year.

All VPS plans are unmanaged. Bitfoo handles the hardware and network; Ghost installation, configuration, updates, and backups are your responsibility.

If your server exceeds its monthly bandwidth allocation, throughput is throttled for the remainder of the billing cycle - no additional charges.

Ghost and MySQL together typically use 400-700MB of RAM at rest. VPS-1's 1GB allocation leaves limited headroom for traffic spikes and background tasks. If your publication has a regular audience or you're sending newsletters to a list, VPS-2 gives you a noticeably more comfortable environment.

Getting started

Ghost CLI compresses what would otherwise be a multi-step server configuration process - Node.js, MySQL, Nginx, SSL, systemd - into a single command. The main steps:

  1. Order a VPS and choose Ubuntu
    Ghost CLI officially supports Ubuntu 20.04, 22.04, and 24.04 LTS. Select Ubuntu at order time - Ghost CLI does not support Debian, AlmaLinux, Rocky Linux, or CentOS. This is the one hard requirement Ghost imposes on your server environment.
  2. Point your domain at your server
    Before running Ghost CLI, point your domain's A record at your VPS IP address and wait for DNS to propagate. Ghost CLI's --url flag takes your domain and uses it to configure Nginx server blocks and request an SSL certificate from Let's Encrypt - this step requires your domain to already be resolving to your server.
  3. Run ghost install
    SSH into your server and follow the official Ghost CLI installation guide at ghost.org/docs/install/ubuntu/. The guide walks through the system user setup and the ghost install command. Ghost CLI installs Node.js, MySQL, Nginx, and Certbot, configures everything, and starts your Ghost instance. By the end of this step, your publication is live at your domain.
  4. Configure your publication settings
    Log into your Ghost admin panel at yourdomain.com/ghost to set your publication name, upload your logo, and connect any integrations - Mailgun for newsletter delivery, Stripe for paid memberships. These are configured through the Ghost admin interface, not the command line.

What every VPS plan includes

Relevant features for Ghost, from the VPS hosting page:

Full root access and SSH from first boot - required for Ghost CLI installation and ongoing management

KVM virtualization - your own kernel; Ghost CLI's system dependencies, MySQL, and Nginx all install and configure without host-imposed restrictions

Ubuntu support - order your VPS with Ubuntu 22.04 or 24.04 LTS; both are fully supported by Ghost CLI

NVMe SSD storage - fast disk I/O for MySQL database reads, Ghost theme assets, and uploaded media

AMD Ryzen 9 9900X - strong single-core performance for Ghost's Node.js rendering and MySQL query processing

99.9% uptime SLA - measured monthly, service credit issued for any shortfall

Self-service control panel - OS reinstall, power control, SSH key management, and resource monitoring; use the browser-based emergency console if SSH becomes unreachable

Automated provisioning - server ready within minutes of payment

5 datacenter locations at order time: US East, US West, UK, EU, Asia-Pacific

10Gbps network ports on all plans

Who uses this

Ghost is used by independent writers, newsletter publishers, media teams, and developers who want a clean, content-focused platform without the WordPress plugin overhead. Self-hosting on a VPS suits anyone who's outgrown Ghost(Pro)'s pricing or wants full ownership of their infrastructure.

Entrepreneurs & independent creators · Small businesses · Agencies · Developers

Common questions

Which Linux distribution does Ghost require?

Ghost CLI - the official installation tool - supports Ubuntu 20.04, 22.04, and 24.04 LTS only. This is a Ghost requirement, not a Bitfoo restriction. Other Linux distributions (Debian, AlmaLinux, Rocky Linux, CentOS) are not supported by Ghost CLI and will produce errors during installation. When you order your VPS, select Ubuntu 22.04 or 24.04 LTS. If you order with a different distribution and want to switch, you can reinstall the OS from the Bitfoo client panel at no charge.

How much RAM does Ghost need?

Ghost's official documentation lists 1GB RAM as the minimum. In practice, Ghost and MySQL together use 400-700MB at rest - which leaves limited headroom on a 1GB server when traffic spikes or newsletter sends trigger additional database and rendering activity. VPS-1 works for low-traffic blogs or testing environments. For a publication with a regular audience or an active member list, VPS-2's 2GB allocation gives you a noticeably more stable environment. If you're running multiple Ghost instances on one server, size up accordingly.

How do I handle email delivery for Ghost newsletters?

Ghost's newsletter and transactional email (welcome emails, member confirmations, password resets) require an external email provider. Ghost has native Mailgun integration - connect your Mailgun account in Ghost's admin settings under Email Newsletter, and Ghost routes all outbound email through Mailgun. SMTP credentials from other providers (Postmark, SendGrid, AWS SES) can also be used via Ghost's custom SMTP settings.

Can I use Stripe paid memberships on a self-hosted Ghost?

Yes. Ghost's paid membership and subscription features (paid tiers, member-only content, one-time payments) connect to Stripe through your Ghost admin settings. There is no hosting-level configuration required - you connect your Stripe account in the Ghost admin panel and Stripe handles payment processing directly. Self-hosted Ghost has access to the same membership features as Ghost(Pro). The only difference is that you manage your own infrastructure instead of paying Ghost to manage it for you.

Can I migrate from Ghost(Pro) to self-hosted Ghost?

Yes. Ghost provides a built-in export tool in the admin panel that exports your entire publication - posts, pages, members, tags, and settings - as a JSON file. On your new self-hosted instance, import that file through the Ghost admin panel's import tool. Member email addresses migrate with your content; existing paid subscribers would need to be reconnected to Stripe on the new instance. Ghost's official documentation covers the migration process in detail. DNS propagation is the main timing consideration - point your domain at your VPS after confirming the import is complete.

Can I run multiple Ghost publications on one server?

Yes. Ghost CLI supports multiple instances on a single server. Each publication runs on a separate internal port; Nginx routes traffic to the correct instance based on the domain name. Use ghost install for the first publication and ghost install --port [port] for subsequent ones. ghost ls shows all instances and their status. The practical limit is RAM - each Ghost instance plus a shared MySQL server adds to your total memory footprint. VPS-4 handles four to six Ghost instances comfortably depending on traffic levels.

Which plan should I choose for my Ghost publication?

VPS-1 is adequate for a low-traffic blog or a site you're setting up to test before migrating an existing publication. VPS-2 is the recommended starting point for most Ghost publications - it gives Ghost and MySQL enough combined RAM to handle regular traffic and newsletter sends without running close to limits. VPS-4 suits high-traffic publications, large member lists that generate significant database activity during sends, or servers running two to four Ghost instances. VPS-6 suits agencies or developers running many Ghost publications from one server. If you're migrating from Ghost(Pro) and unsure of your traffic profile, start with VPS-2 - you can upgrade without migrating your data.