{"id":2554,"date":"2026-09-14T08:16:10","date_gmt":"2026-09-14T08:16:10","guid":{"rendered":"https:\/\/ukspeed.co.uk\/blog\/self-host-ghost-uk-vps-newsletter-blog-platform-2026\/"},"modified":"2026-09-14T08:35:38","modified_gmt":"2026-09-14T08:35:38","slug":"self-host-ghost-uk-vps-newsletter-blog-platform-2026","status":"publish","type":"post","link":"https:\/\/ukspeed.co.uk\/blog\/self-host-ghost-uk-vps-newsletter-blog-platform-2026\/","title":{"rendered":"Self-Host Ghost on UK VPS: Fast Newsletter &amp; Blog Platform 2026"},"content":{"rendered":"\n<p>If you want to own your audience, keep your subscriber data in Britain and stop handing a slice of your income to a third party, learning how to self-host Ghost on a UK VPS is one of the smartest moves a creator or startup can make in 2026. Ghost is a lean, modern publishing platform that combines a fast blog, email newsletters and paid memberships in a single application you fully control. This guide walks through what Ghost is, why running it yourself makes sense, how it compares to WordPress and Substack, and exactly how to install, secure and back it up on an Ubuntu server.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What Is Ghost?<\/h2>\n\n\n\n<p>Ghost is an open-source publishing platform built on <strong>Node.js<\/strong> and designed specifically for professional writers, publishers and independent media. Rather than trying to be everything at once, it focuses on doing three things extremely well: publishing polished articles, sending email newsletters to your list, and running paid memberships or subscriptions. The editor is clean and distraction-free, pages load quickly out of the box, and the whole system is intentionally lightweight compared with a plugin-heavy content management system.<\/p>\n\n\n\n<p>Because it is open source, you can read the code, host it anywhere and shape it with custom themes. Ghost ships with a native membership system, a built-in newsletter engine and first-class Stripe support, so a single install can replace a blog, an email marketing tool and a paid-subscription platform. That makes it a genuine <strong>WordPress alternative<\/strong> for people focused on writing and audience, and a serious <strong>Substack alternative<\/strong> for anyone building a paid newsletter.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why Self-Host Your Publishing Platform<\/h2>\n\n\n\n<p>There is an official managed service (Ghost Pro), and it is excellent. But running the software on your own server gives you advantages that a hosted plan cannot. When you self-host Ghost you own the audience list, the content and the infrastructure outright, so nothing about your business depends on another company&#8217;s pricing changes or policy decisions.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Own your audience and data:<\/strong> your subscriber list is portable and yours, never locked inside someone else&#8217;s platform.<\/li>\n<li><strong>Keep the revenue:<\/strong> paid memberships run through your own Stripe account, so you keep the income minus Stripe&#8217;s fees, with no platform cut on top.<\/li>\n<li><strong>UK data residency and GDPR:<\/strong> hosting member and subscriber data on a UK VPS keeps personal data in Britain, which simplifies your GDPR position.<\/li>\n<li><strong>Full control:<\/strong> custom themes, custom integrations, your choice of email provider and no imposed feature limits.<\/li>\n<\/ul>\n\n\n\n<p>The trade-off is honest: you become responsible for updates, email deliverability and backups. For most creators and teams that is a fair exchange for independence, especially on an <a href=\"https:\/\/ukspeed.co.uk\/blog\/managed-vs-unmanaged-vps-hosting\/\">unmanaged VPS you fully control<\/a>. If you would rather someone else patch the operating system, a managed plan may suit you better.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What You Need to Self-Host Ghost<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A UK VPS running a supported Ubuntu LTS release, with at least 1GB RAM (2GB is comfortable for production).<\/li>\n<li>A registered domain name pointing to the server&#8217;s IP address.<\/li>\n<li>Node.js LTS, <strong>MySQL<\/strong> 8 and Nginx (Ghost-CLI helps install and configure these).<\/li>\n<li>A Mailgun account for bulk <strong>newsletter<\/strong> sending and an SMTP service for transactional email.<\/li>\n<li>A Stripe account if you plan to sell <strong>membership<\/strong> subscriptions.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Ghost vs WordPress vs Substack<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/ukspeed.co.uk\/blog\/wp-content\/uploads\/2026\/09\/gh1-compare.svg\" alt=\"Self-host Ghost vs WordPress vs Substack compared on revenue cut, data ownership and newsletters\" class=\"wp-image-2555\" \/><figcaption class=\"wp-element-caption\">Self-hosted Ghost takes no platform cut and keeps your audience data on your UK VPS &mdash; unlike Substack.<\/figcaption><\/figure>\n\n\n\n<p>Each platform suits a different person. WordPress is the most flexible and has the largest plugin ecosystem, so it can become almost anything. Substack needs zero setup and is brilliant for getting started, but it takes a share of your subscription revenue and owns the platform your audience lives on. A self-hosted Ghost install sits in between: more control and better economics than Substack, with far less maintenance overhead than a sprawling WordPress build.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Factor<\/th><th>Ghost (self-hosted)<\/th><th>WordPress<\/th><th>Substack<\/th><\/tr><\/thead><tbody><tr><td>Control<\/td><td>Full (own server)<\/td><td>Full (own server)<\/td><td>Limited (hosted only)<\/td><\/tr><tr><td>Revenue cut<\/td><td>None (Stripe fees only)<\/td><td>None (plugin dependent)<\/td><td>Platform takes a share (~10%)<\/td><\/tr><tr><td>Data ownership<\/td><td>You own everything<\/td><td>You own everything<\/td><td>Platform holds your list<\/td><\/tr><tr><td>Setup effort<\/td><td>Moderate (you run the server)<\/td><td>Moderate to high<\/td><td>None<\/td><\/tr><tr><td>Best for<\/td><td>Newsletters, blogs and paid memberships with independence<\/td><td>Flexible sites needing many plugins<\/td><td>Fast start, no technical work<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">How to Install Ghost on UK VPS<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/ukspeed.co.uk\/blog\/wp-content\/uploads\/2026\/09\/gh2-admin.svg\" alt=\"A Ghost publishing admin dashboard with members, paid subscribers and revenue on a UK VPS\" class=\"wp-image-2557\" \/><figcaption class=\"wp-element-caption\">The Ghost admin: manage posts, members, paid tiers and revenue &mdash; all running on your own UK VPS.<\/figcaption><\/figure>\n\n\n\n<p>Ghost officially supports Ubuntu and installs cleanly with <strong>Ghost-CLI<\/strong>, the command-line tool that handles configuration for you. Start on a fresh Ubuntu server, update it, and create a dedicated non-root user with sudo rights. Always follow <a href=\"https:\/\/ghost.org\/docs\/\" rel=\"noopener\" target=\"_blank\">the official Ghost documentation<\/a> alongside this summary, as version requirements change over time.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Update the system and create a user\nsudo apt update &amp;&amp; sudo apt upgrade -y\nsudo adduser ghostuser\nsudo usermod -aG sudo ghostuser\nsu - ghostuser<\/code><\/pre>\n\n\n\n<p>Next install the stack Ghost depends on: Node.js LTS, MySQL 8 and Nginx. SQLite is fine for local development, but you should use MySQL in production for reliability and performance.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Nginx\nsudo apt install -y nginx\n\n# MySQL 8 (then run mysql_secure_installation)\nsudo apt install -y mysql-server\nsudo mysql_secure_installation\n\n# Node.js LTS via NodeSource, then Ghost-CLI\ncurl -fsSL https:\/\/deb.nodesource.com\/setup_lts.x | sudo -E bash -\nsudo apt install -y nodejs\nsudo npm install ghost-cli@latest -g<\/code><\/pre>\n\n\n\n<p>Now create an empty directory for the site, set the right ownership, and run the installer. Ghost-CLI asks a few questions (your domain, the MySQL credentials, whether to set up Nginx and SSL) and does the heavy lifting automatically.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo mkdir -p \/var\/www\/ghost\nsudo chown ghostuser:ghostuser \/var\/www\/ghost\nsudo chmod 775 \/var\/www\/ghost\ncd \/var\/www\/ghost\n\nghost install<\/code><\/pre>\n\n\n\n<p>During installation Ghost-CLI configures Nginx as a reverse proxy, requests a free Let&#8217;s Encrypt SSL certificate and sets up a systemd service so Ghost starts automatically on boot. Because Ghost is a <strong>Node.js<\/strong> application, the same operational patterns apply as when you <a href=\"https:\/\/ukspeed.co.uk\/blog\/deploy-nextjs-uk-vps-pm2-vs-docker-vs-coolify-2026\/\">deploy other Node.js apps on a VPS<\/a>. If you prefer containers, you can also run Ghost with <a href=\"https:\/\/ukspeed.co.uk\/blog\/docker-compose-wordpress-production-on-uk-vps-full-stack-setup-guide-2026\/\">Docker Compose on a UK VPS<\/a> instead of the CLI approach.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to Set Up Email and Newsletters<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/ukspeed.co.uk\/blog\/wp-content\/uploads\/2026\/09\/gh3-newsletter.svg\" alt=\"Ghost newsletters via Mailgun and paid memberships via Stripe on a self-hosted UK VPS\" class=\"wp-image-2559\" \/><figcaption class=\"wp-element-caption\">Send newsletters with Mailgun and take payments with Stripe &mdash; no platform cut, subscriber data stays in the UK.<\/figcaption><\/figure>\n\n\n\n<p>Email is where Ghost earns its keep, and it uses two separate channels. Bulk <strong>newsletter<\/strong> delivery runs through Mailgun, Ghost&#8217;s supported bulk email provider. Transactional email, such as member sign-up confirmations and magic login links, is sent over standard SMTP. You need both configured for a fully working membership site.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Newsletters (bulk):<\/strong> create a <strong>Mailgun<\/strong> account, verify a sending domain, add the required DNS records, then add your Mailgun API key and domain in Ghost&#8217;s settings under email newsletters.<\/li>\n<li><strong>Transactional (SMTP):<\/strong> set the <code>mail<\/code> block in <code>config.production.json<\/code> with your SMTP host, port and credentials so member magic links and receipts always arrive.<\/li>\n<\/ul>\n\n\n\n<p>For paid <strong>membership<\/strong> tiers, connect your Stripe account in the Ghost dashboard. Ghost handles the signup flow, gated content and recurring billing, while the money lands directly in your own Stripe account. This is the core of the <strong>Substack alternative<\/strong> appeal: you run paid subscriptions without surrendering a percentage of every payment to a platform.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Configure a Reverse Proxy and HTTPS<\/h2>\n\n\n\n<p>In most cases Ghost-CLI has already done this work for you: it installs an Nginx server block that proxies requests to the Ghost process on its internal port, and it provisions a Let&#8217;s Encrypt certificate with automatic renewal. You can confirm and manage the SSL setup with the built-in tooling.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Re-run or repair SSL if needed\nghost setup ssl\n\n# Check the site is serving over HTTPS\ncurl -I https:\/\/your-domain.co.uk<\/code><\/pre>\n\n\n\n<p>If you already run your own reverse proxy, a CDN, or a load balancer in front of the server, you can customise the Nginx configuration or point your proxy at Ghost directly. Just make sure the <code>url<\/code> in your config uses <code>https:\/\/<\/code> and that the proxy forwards the correct host and protocol headers so links and cookies behave.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Secure and Back Up Ghost<\/h2>\n\n\n\n<p>A self-hosted platform is only as safe as the server underneath it. Harden the box before you invite an audience onto it, and put a reliable backup routine in place from day one.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Keep Ghost current with <code>ghost update<\/code>, and apply operating system security patches regularly.<\/li>\n<li>Use a strong, unique admin password and enable two-factor authentication for staff accounts.<\/li>\n<li>Configure a firewall (UFW) to allow only SSH, HTTP and HTTPS, and follow proper <a href=\"https:\/\/ukspeed.co.uk\/blog\/how-to-harden-ssh-on-a-linux-vps-10-security-steps-beyond-just-changing-the-default-port\/\">SSH hardening on your Linux VPS<\/a>.<\/li>\n<li>Back up the <code>content\/<\/code> directory (themes, images and settings) together with a MySQL dump of the database.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code># Back up the MySQL database\nmysqldump -u ghost_user -p ghost_prod &gt; ghost_backup.sql\n\n# Archive the content directory (images, themes, settings)\ntar -czf ghost_content.tar.gz \/var\/www\/ghost\/content<\/code><\/pre>\n\n\n\n<p>Store those backups off the server. Copying them to <a href=\"https:\/\/ukspeed.co.uk\/blog\/self-host-minio-uk-vps-s3-compatible-object-storage-2026\/\">a self-hosted MinIO object store<\/a> or another remote location means a single server failure never costs you your archive or your subscriber list.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Best Practices for Production Ghost<\/h2>\n\n\n\n<p>Once the site is live, a few habits keep it fast, healthy and deliverable. Choose a UK VPS with enough headroom so Node.js and MySQL are never starved of memory during a large newsletter send. UK Speed&#8217;s UK VPS plans give you that local footprint with root access, keeping latency low for British readers and member data on home soil.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Warm up your sending domain gradually and keep an eye on bounce and spam rates to protect newsletter deliverability.<\/li>\n<li>Set up SPF, DKIM and DMARC records so your emails reach the inbox rather than the spam folder.<\/li>\n<li>Test upgrades and theme changes on a staging copy before touching production.<\/li>\n<li>Automate daily backups and periodically test that a restore actually works.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>Choosing to self-host Ghost gives independent writers, startups and agencies a professional publishing stack that they truly own: a fast blog, a real newsletter engine and paid memberships, all on a server they control. You trade a little maintenance for genuine independence, better economics than Substack and the flexibility that a hosted plan cannot match.<\/p>\n\n\n\n<p>If the balance of control, revenue and data residency appeals to you, the path forward is straightforward.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Provision a UK VPS with at least 2GB RAM and point your domain at it.<\/li>\n<li>Install Ghost with Ghost-CLI, then connect Mailgun and Stripe.<\/li>\n<li>Harden the server, enable HTTPS and set up automated backups.<\/li>\n<li>Import your existing subscribers and publish your first issue.<\/li>\n<\/ul>\n\n\n\n\n<div class=\"wp-block-group uks-cta-box has-border-color\" style=\"border-color:#bfdbfe;border-style:solid;border-width:1px;border-radius:14px;background-color:#eff6ff;padding:30px\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n\n<h3 class=\"wp-block-heading has-text-color\" style=\"color:#0f172a\">Launch your Ghost site on a UK Speed VPS<\/h3>\n\n\n<p class=\"has-text-color\" style=\"color:#334155\">Run your own newsletter and blog on a fast UK NVMe VPS with full root access &#8211; self-host Ghost, own your audience and keep 100% of your subscriptions, with data kept in the UK.<\/p>\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link has-text-color has-background wp-element-button\" href=\"https:\/\/ukspeed.co.uk\/vps-nvme\" style=\"border-radius:8px;color:#ffffff;background-color:#2563eb\">Explore UK NVMe VPS plans &rarr;<\/a><\/div>\n<\/div>\n\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>If you want to own your audience, keep your subscriber data in Britain and stop handing a slice of your income to a third\u2026<\/p>\n","protected":false},"author":3,"featured_media":2564,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[105],"tags":[299,143,148,147,149,61,146,113,141,136,140,139],"class_list":["post-2554","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials","tag-backup","tag-database","tag-dns","tag-docker","tag-email","tag-hosting","tag-linux","tag-performance","tag-security","tag-ssl","tag-vps","tag-wordpress"],"_links":{"self":[{"href":"https:\/\/ukspeed.co.uk\/blog\/wp-json\/wp\/v2\/posts\/2554","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ukspeed.co.uk\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ukspeed.co.uk\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ukspeed.co.uk\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/ukspeed.co.uk\/blog\/wp-json\/wp\/v2\/comments?post=2554"}],"version-history":[{"count":4,"href":"https:\/\/ukspeed.co.uk\/blog\/wp-json\/wp\/v2\/posts\/2554\/revisions"}],"predecessor-version":[{"id":2561,"href":"https:\/\/ukspeed.co.uk\/blog\/wp-json\/wp\/v2\/posts\/2554\/revisions\/2561"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ukspeed.co.uk\/blog\/wp-json\/wp\/v2\/media\/2564"}],"wp:attachment":[{"href":"https:\/\/ukspeed.co.uk\/blog\/wp-json\/wp\/v2\/media?parent=2554"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ukspeed.co.uk\/blog\/wp-json\/wp\/v2\/categories?post=2554"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ukspeed.co.uk\/blog\/wp-json\/wp\/v2\/tags?post=2554"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}