Blogging

Self-Hosted Blog Platforms

If you want a blog on a box you control instead of Medium, Substack, or WordPress.com, the platform you pick comes down to how much you want to maintain. Self-hosted WordPress runs almost anything and has a plugin for every idea, at the cost of PHP updates and a real security surface. Ghost is the cleaner choice for a pure writing-and-newsletter blog. WriteFreely is minimalist and joins the Fediverse. Hugo and Publii skip the database entirely and hand you static files any web server can serve. All of them are free to run yourself.

Updated 2026-08-17 · by

Top pick

WordPress

Self-hosted WordPress from wordpress.org (not the hosted WordPress.com) still runs a large share of the web because it does the most for the least effort. Install it on any cheap LAMP or LEMP stack, pick a theme, and you have a blog with a full editor, comments, media handling, and a plugin for anything it is missing, from SEO to caching to paid memberships. The tradeoff is honest: it is PHP and a MySQL or MariaDB database you keep patched, and an out-of-date plugin is the most common way a small site gets defaced. Turn on automatic updates, put it behind a reverse proxy with TLS, and it is a fine long-term home for a blog. It is also the pick that matches what most people mean when they search for a self-hosted blog.

The options

WordPress

GPLv2, free (self-hosted from wordpress.org)

The blogging CMS that runs a large share of the web: a block editor, themes, comments, and a plugin for nearly anything.

Visit WordPress site
Runs on
Any LAMP or LEMP stack: PHP 8 plus MySQL or MariaDB. About 1 GB RAM is plenty for a small blog, and official Docker images exist.
Pick it if
You want the biggest plugin and theme ecosystem and do not mind keeping PHP and a database patched.

Ghost

MIT, free to self-host (Ghost(Pro) is the paid hosted option)

A modern publishing platform built only for blogs and newsletters, with a clean editor and native paid memberships.

Visit Ghost site
Runs on
Node.js plus MySQL 8, roughly 1 GB RAM. Runs well in Docker behind a reverse proxy.
Pick it if
You want a fast, focused writing tool with built-in email newsletters and members, not a general-purpose CMS.

WriteFreely

AGPL-3.0, free

A minimalist, distraction-free markdown blog that speaks ActivityPub, so posts can federate into the Fediverse.

Visit WriteFreely site
Runs on
A single Go binary with SQLite or MySQL. Runs on the smallest VPS or a Raspberry Pi.
Pick it if
You want plain writing with no dashboard clutter, plus optional reach from Mastodon and the wider Fediverse.

Hugo

Apache-2.0, free

A static site generator that turns markdown into plain HTML you serve from any web server. No database, no runtime.

Visit Hugo site
Runs on
Build locally, then serve the output with Nginx, Caddy, or object storage. Nothing stays running or needs patching.
Pick it if
You are comfortable in a terminal and want the fastest, most secure blog with no moving parts.

Publii

GPL-3.0, free

A desktop app that builds a static blog on your computer and uploads it, giving Hugo-style output through a real editor.

Visit Publii site
Runs on
Runs on your Windows, Mac, or Linux desktop. Publishes over FTP, S3, GitHub Pages, or Netlify.
Pick it if
You want a static site's security and speed without touching the command line.

How to choose

Decide first whether you want a database or static files, because that splits this list in half. WordPress and Ghost are dynamic apps: they run a process and a database (MariaDB or PostgreSQL for one, MySQL for the other), render pages on request, and let you write and publish entirely from a browser. That convenience is why most people pick them, and it is also the maintenance you sign up for. Hugo and Publii are static generators: they turn your markdown into finished HTML once, and you serve those files with any web server. Nothing dynamic is exposed, so there is almost no attack surface and nothing to patch, but you edit locally and rebuild to publish. WriteFreely sits in the middle, a tiny dynamic app that stays deliberately simple.

Then match the tool to the job. Pick WordPress if you want plugins, a large theme market, and the option to grow the site past a blog. Pick Ghost if the blog is the whole point and you want a clean editor with newsletters built in. Pick WriteFreely for minimalist writing that can federate, Hugo if you live in a terminal and want zero maintenance, or Publii if you want that same static output without the command line. Whichever dynamic one you run, put it in a container (Docker or Podman both work) and front the whole thing with a reverse proxy handling TLS so the blog is reachable over HTTPS without exposing the app directly.

The verdict

Run self-hosted WordPress if you want one blog that can do anything and you accept a little upkeep; it is the default for good reason and the closest match to what most people searching for a self-hosted blog actually want. Switch to Ghost if the blog is a pure writing-and-newsletter project and you would rather have a clean editor than a plugin for everything. Go WriteFreely for minimalist, Fediverse-friendly posting, and go static with Hugo or Publii if you want the most secure, lowest-maintenance option and do not need to publish from a phone. Whatever you pick, run the dynamic ones in Docker, keep them behind a reverse proxy with TLS, and back up the database or content folder. If you are still deciding what else to run on the same box, the best self-hosted apps list is a good next stop.

FAQ

What is the best self-hosted blog platform?

WordPress, for most people. Self-hosted from wordpress.org it has the biggest ecosystem, runs on any cheap PHP host, and does everything a blog needs plus a plugin for whatever it does not. Pick Ghost instead if you want a focused writing-and-newsletter tool, WriteFreely for minimalist Fediverse posting, and Hugo or Publii if you would rather serve static files with almost no maintenance.

Can WordPress be self-hosted?

Yes, and that is the whole point of the wordpress.org version. You download the software for free, install it on your own server (a PHP 8 stack with MySQL or MariaDB, or an official Docker image), and you own the site and its data. That is different from WordPress.com, which is a paid hosted service run by Automattic where someone else controls the box.

Do people still use WordPress for blogging?

Yes, heavily. WordPress still powers a large share of all websites and remains the default for new self-hosted blogs, mostly because of the plugin and theme ecosystem and the huge amount of documentation. Newer tools like Ghost have taken some of the pure-blogging audience, but WordPress is nowhere near going away.

Which is better, Ghost or WordPress?

It depends on what you are building. Ghost is better if you want a fast, clean blog with newsletters and paid memberships built in and no plugin sprawl. WordPress is better if you want maximum flexibility, a plugin for every idea, and the option to turn the site into something bigger than a blog. For a straight publishing blog, plenty of people are happiest on Ghost; for anything more general, WordPress wins.

Is Ghost faster than WordPress?

Out of the box, usually yes. Ghost runs on Node.js with caching built in and ships a lean default theme, so a stock install feels quick. But a WordPress site with a good caching plugin and a lightweight theme can be just as fast; a lot of slow WordPress blogs are slow because of heavy themes and stacked plugins, not the core software.

Why are people moving away from WordPress?

The common reasons are maintenance and security: it is PHP plus a database you have to keep patched, and outdated plugins are a frequent way small sites get compromised. Some writers also dislike plugin bloat or the block editor and want a simpler tool. It is still the most popular platform by a wide margin, so this is a shift at the edges, not a collapse.

Is there a free open-source self-hosted blog?

All five here are free and open source. WordPress is GPLv2, Ghost is MIT, WriteFreely is AGPL, Hugo is Apache-2.0, and Publii is GPL-3.0. You pay only for the hardware or VPS you run them on, and for a small blog that can be a Raspberry Pi or the cheapest cloud instance.

Related on HomelabCompass

← All self-hosted alternatives