MI

Microblog.pub

Self-hosted single-user microblog for the fediverse

Blogging Platforms ★ 1.2k stars Medium setup AGPL-3.0

Microblog.pub is a self-hosted, single-user ActivityPub server for microblogging. It lets one person run their own federated microblog that interacts with Mastodon and the wider fediverse.

Key features

  • Single-user ActivityPub server
  • Federates with Mastodon
  • Lightweight footprint
  • Markdown posts

Pros & cons

Strengths

  • Own your microblog identity
  • Lightweight to run

Trade-offs

  • Single-user only
  • Requires fediverse familiarity

Microblog.pub replaces

Last reviewed Sep 13, 2026 · 778 words

Your own domain as a fediverse identity, posts written in Markdown, followers on Mastodon seeing them within seconds, and the whole thing running on a 256 MB VPS: that is Microblog.pub, and it delivers it with less ceremony than any other ActivityPub server I have run. The constraint is in the name. It is single-user by design, there is no plan to change that, and the friend who wants an account gets told to install their own.

One person, one process, one SQLite file

The second-generation rewrite is a Python web app with a single SQLite database, a background worker for outbound deliveries, and a web interface that doubles as your public profile. There is no Postgres, no Redis, no search cluster, and no separate front-end build to babysit. Federation is complete for what a microblog needs: follow and be followed, replies, boosts, likes, mentions, hashtags, media attachments, custom emoji, and the remote-actor fetching that makes threads render. It also speaks the IndieWeb dialects (IndieAuth, Micropub, Webmention), which matters if you post from a Micropub client or want your site to be your login. What it does not have is a timeline product: no lists, no filters, no discovery tab, no algorithm. You get your home timeline and your notifications.

Install is a wizard, deployment is a reverse proxy

The documented path uses Poetry and the invoke task runner: inv install-deps, then inv configuration-wizard to answer the questions that matter (domain, username, display name, admin password), then inv migrate-db, then run the app and the worker. The Docker Compose variant wraps the same steps in two containers. The app listens on port 8000 and expects to live behind Caddy, Nginx, or Traefik with TLS terminated in front, and it needs the public hostname to be right from the first federated request: ActivityPub actors are URLs, and changing your domain later means starting a new identity as far as the rest of the fediverse is concerned. Decide the domain before you send the first follow request.

Lightweight in practice, not just on paper

Idle memory sits well under the 256 MB floor; a small VPS shared with a static site and a reverse proxy is enough. Load only becomes a topic when a post gets boosted by a large account and a few thousand instances fetch it within a minute, and even then it is mostly the reverse proxy doing the work. Backups are the SQLite file plus the media directory, which is the kind of backup you can actually verify. Updates are a git pull, a dependency install, and a migration; read the changelog first because the project is one maintainer's work and migrations occasionally need a manual step.

GoToSocial is the sibling to weigh it against

If "small and single-user" is the requirement, GoToSocial is the larger and more actively developed project: a Go binary, SQLite or Postgres, and a Mastodon-compatible client API so you can use any Mastodon app on your phone. Microblog.pub deliberately does not implement the Mastodon client API, so you post from its web interface or a Micropub client, not from Ivory or Tusky. That is the sharpest practical difference. Pick Microblog.pub when you want a blog-shaped fediverse presence with Markdown, IndieWeb features, and a homepage that looks like a personal site; pick GoToSocial when you want a Mastodon account you happen to host yourself. If you actually need multiple users, neither is right and Mastodon or one of its lighter cousins is the answer.

Fediverse familiarity is assumed

The docs are terse and assume you know what an actor, an inbox, and a WebFinger lookup are. When federation misbehaves (a follow never confirms, a remote instance stops receiving posts), you will be reading delivery logs and checking whether the other side blocks your domain or rejects your signature. Nothing is hard, but nothing is hand-held either, and the small user base means the answer is often in the source rather than in a forum thread. Budget an evening, not an hour.

What I'd do

If I wanted a personal microblog on my own domain, with posts I could write in Markdown and a homepage that reads as mine rather than as a Mastodon clone, I would run Microblog.pub behind Caddy on the cheapest VPS I could find, back up the SQLite file nightly, and never expect to add a second user. If I mostly wanted to use a Mastodon phone app against my own server, I would run GoToSocial instead and skip the IndieWeb extras I would not use.

Compare Microblog.pub

2 head-to-head comparisons.

Similar blogging platforms apps