WriteFreely
For content management, WriteFreely offers a self-hosted way to build a writing space on the web.
Open-source minimalist publishing, honestly reviewed. No SEO dashboards, no notification badges, no per-post analytics — just words and the fediverse.
TL;DR
- What it is: Open-source (AGPL-3.0) minimalist blogging platform with built-in ActivityPub federation — think Medium stripped of every engagement mechanic, self-hosted on your own server [README][website].
- Who it’s for: Writers, small communities, and privacy-conscious founders who want a clean publishing space that connects to Mastodon and the broader fediverse without handing their content to a SaaS platform [1][2].
- Cost savings: Write.as (the managed version) starts at $6/mo for a solo writer. Self-hosted on a €5–8/mo VPS, you get the same software for nearly nothing — relevant if you’re hosting a community of 15–300 writers who’d otherwise pay per seat [2].
- Key strength: The most opinionated minimalism in the self-hosted blogging space. No likes, no notification feeds, no analytics dashboard, no plugin bloat. It does one thing and removes everything that gets in the way of it [website][README].
- Key weakness: The same opinionated minimalism is also the ceiling. No themes worth speaking of, no comment system, no email newsletters, no membership gating. If your blog needs to do anything beyond “publish Markdown and syndicate to Mastodon,” WriteFreely is not the tool [README].
What is WriteFreely
WriteFreely is a Go-based blogging platform built around a single premise: writing should be the only thing on the screen. There’s no news feed, no engagement counter, no pop-up asking readers to subscribe. You open the editor, you write, you publish. The result shows up as a clean page, and if federation is enabled, followers on Mastodon or any ActivityPub-compatible service can follow your blog and see new posts in their timelines [website][README].
The project is maintained by the team behind Write.as, a commercial hosted service that has been running WriteFreely at scale for over a decade — they claim more than 550,000 blogs powered by the software [website]. That’s a meaningful signal for stability. This isn’t a hobby project that might go dark in six months.
The GitHub repository sits at 5,105 stars under the AGPL-3.0 license [merged profile]. AGPL matters here: it’s more restrictive than MIT or GPL. If you embed WriteFreely into a web service you offer to others, you must release your source code. For a personal blog or a private community, AGPL is irrelevant — do whatever you want. For a SaaS product built on top of WriteFreely, talk to a lawyer before shipping [merged profile].
What WriteFreely is not: a content management system in the WordPress or Ghost sense. There are no plugins, no theme marketplace, no e-commerce hooks, no membership tiers, no email newsletter engine. The feature set is deliberately frozen at “write and publish.” If that sounds like a bug, it’s actually the product.
Why People Choose It
The decision to run WriteFreely almost always comes from one of three places.
Escaping the engagement machine. Most publishing platforms are designed to keep writers and readers addicted through metrics. Medium shows you clap counts and follower growth. Substack shows you open rates. Ghost shows you member numbers. WriteFreely shows you nothing — no statistics, no read counts, no signals that would tempt you to optimize for virality instead of honesty. Cloud68.co, one of the managed hosting providers, describes it as “the ideal space for creators who seek to focus on content rather than the engagement metrics of traditional blogging platforms” [1]. That’s the positioning, and it’s accurate.
Fediverse publishing without a third-party platform. If you’re already on Mastodon and want your blog posts to appear in people’s timelines as followable content — not link previews, but actual federated posts — WriteFreely does this natively via ActivityPub. Anyone on Mastodon, Pleroma, or any ActivityPub-enabled service can follow your WriteFreely blog directly [website][README]. That’s a genuine capability gap versus Ghost, WordPress, and most other self-hosted options, which treat ActivityPub as a plugin afterthought rather than a core feature.
Running a small writing community. WriteFreely supports multi-user instances with open or closed registration, multiple blogs per account (for pen names or topic separation), and community-level policies. A writing group, an independent media outlet, or an internal knowledge-sharing community can run on a single instance without the overhead of WordPress Multisite or the cost of a Ghost team plan [1][2]. Rost Glukhov’s writeup notes that WriteFreely.host’s community plans specifically target this use case: $10/mo for up to 100 blogs, $20/mo for 200, $30/mo for 300 [2].
Features
Core writing experience:
- Auto-saving, distraction-free Markdown editor [website]
- No keyboard shortcuts required — plain Markdown or HTML [features page]
- Multiple blogs per account (different pen names, topics, audiences) [README]
- Hashtag-based categorization [README]
- Pin posts to create static pages (About, Contact) [README]
- Draft posts with publish-when-ready workflow [README]
Federation and distribution:
- ActivityPub support — Mastodon users can follow your blog [website][README]
- RSS feeds for every blog [1]
- OAuth 2.0 for importing users from existing platforms [README]
- Posts federate to Plume, Mastodon, Pleroma, and other ActivityPub software [README]
Instance management:
- Single binary deployment — no runtime dependencies [website]
- SQLite for simple single-user instances, MySQL/MariaDB for multi-user communities [2]
- Docker support with official images [README]
- 20+ language localizations for blog interface [README]
- First-class RTL language support [README]
- SEO-friendly output [1]
What’s explicitly not there:
- No comment system
- No analytics or read tracking
- No email newsletters
- No membership or paywall features
- No theme marketplace
- No plugin system
That last bullet is worth dwelling on. The feature list above is essentially the complete feature list. WriteFreely doesn’t grow with plugins the way WordPress does. What ships is what you get.
Pricing: SaaS vs Self-Hosted Math
Managed hosting options (current public pricing) [2]:
| Provider | Plan | Price | Writers |
|---|---|---|---|
| Write.as | Pro | from $6/mo | Solo writer |
| WriteFreely.host | Village | $10/mo | Up to 100 blogs |
| WriteFreely.host | Town | $20/mo | Up to 200 blogs |
| WriteFreely.host | City | $30/mo | Up to 300 blogs |
| Cloud68.co | Starter | €49/mo | Up to 15 writers |
| Cloud68.co | Enterprise | On-demand | Unlimited |
| K&T Host | — | from $3.75/mo | — |
The Cloud68.co pricing is notably expensive for what you get at the Starter tier — €49/mo for 15 writers is more than $3/writer/month [1][2]. That makes sense if you want EU-hosted, managed, human-supported infrastructure with weekly backups and a custom domain setup done for you. It’s less compelling if you’re technical enough to run a VPS.
Self-hosted rough costs [2]:
- VPS (1 vCPU, 2GB RAM): €5–8/mo on Hetzner or equivalent — adequate for small to mid-size communities
- Storage/backups: €1–5/mo extra depending on provider snapshots
- Domain: $10–20/year
- Email relay (for password resets): small cost on Postmark, Mailgun, or any SMTP provider
Total self-hosted: roughly €7–15/mo for a community of 100 writers, versus $10/mo on WriteFreely.host at similar scale. The self-hosted option wins on cost once you account for more than a handful of writers. It loses on operational overhead — you own the updates, backups, and server health.
Ghost comparison (the most direct alternative): Ghost Pro starts at $9/mo for a solo blog, scales to $25+/mo for growing audiences, and goes higher for team features. Ghost self-hosted on a $6 VPS is comparable to WriteFreely self-hosted in cost, but Ghost requires Node.js and more RAM than WriteFreely’s Go binary. The functionality difference is substantial — Ghost has newsletters, members, themes, and a content API. Which you want depends entirely on what you’re trying to do.
Deployment Reality Check
The honest answer is that WriteFreely is one of the easier self-hosted tools to get running, because Go binaries have no runtime dependencies. You download the binary, run writefreely config start, and follow the prompts [website][2].
Bare-metal / VM path [2]:
- Provision a Linux VPS — 1 vCPU, 1GB RAM works for small sites
- Download the prebuilt binary from GitHub releases
- Run config wizard (SQLite or MySQL choice, federation toggle, domain)
- Generate keys:
writefreely keys generate - Run the app and create your admin account
- Set up Nginx or Caddy as a reverse proxy with Let’s Encrypt for HTTPS
- Add a systemd service for auto-start
The email situation has historically been awkward. Early versions only supported Mailgun; current releases support SMTP generally, but you’ll want to verify which version you’re running and configure accordingly [2]. Standard Postmark or similar transactional email works fine.
Docker path: Official Docker images exist; community Compose files are available. Adds the Docker abstraction overhead but removes the binary-management step. Reasonable choice if your VPS already runs containers [README].
What can go wrong:
- SQLite is fine for personal use but can create contention under heavy multi-user community load. Migrate to MySQL early if you’re planning for growth [2].
- ActivityPub federation requires your domain to be publicly reachable with valid TLS. Local installs won’t federate.
- WriteFreely doesn’t self-update. You pull new releases manually, stop the service, replace the binary, run any migrations, restart. Not automated. Budget time for this.
- The community is smaller than Ghost’s or WordPress’s. When something breaks and you need help, the forum and GitHub issues are the support channels — there’s no ecosystem of consultants or Stack Overflow threads to fall back on.
Realistic time for a technical user: 30–60 minutes to a working instance. For a non-technical founder following the official guide: 2–4 hours including domain DNS propagation. Not the easiest self-hosted tool in this guide, but far from the hardest.
Pros and Cons
Pros
- The minimalism is real, not marketing. No engagement metrics, no notification systems, no dark patterns. The editor shows you a blank page and gets out of the way [website][README].
- ActivityPub federation is native, not a plugin. Your blog posts appear as followable content on Mastodon and other fediverse apps out of the box. This is a genuine capability advantage over Ghost, WordPress, and most alternatives [website][README].
- Go binary means minimal resource usage. Runs on a Raspberry Pi or a $5 VPS. No Node.js, no PHP, no Python runtime required — just the binary and a database [website][2].
- Multiple blogs per account. Writers can run separate blogs under different pen names or for different audiences from a single account without separate instances [README].
- Privacy by default. Minimal data collection, no tracking, no ad-supported business model with incentives to surveil readers [website][1].
- Multi-user community hosting. One instance can host hundreds of independent blogs, making it cost-effective for writing communities [1][2].
- 10+ years of production stability through Write.as, which has been running the same software at scale since the beginning [website].
Cons
- AGPL-3.0 restricts commercial embedding. If you’re building a SaaS product on top of WriteFreely, the copyleft applies to your service. MIT this is not [merged profile].
- No comment system. Not an oversight — a deliberate choice. But if your community needs discussion attached to posts, you’ll build or integrate something yourself.
- No email newsletters. Ghost has this. Substack is built on it. WriteFreely doesn’t touch it. Readers can subscribe via RSS or Mastodon follow, nothing more [README][features page].
- No memberships or paywalls. Zero monetization infrastructure built in. If you want to charge readers, WriteFreely is not your platform.
- Minimal theme/design flexibility. The look is the look. You can customize CSS to a degree, but this is not a platform for visual differentiation.
- Small community. 5,105 GitHub stars [merged profile] — respectable but not large. When you hit an edge case, you’re often the first person to hit it. Compare Ghost’s ~47K stars or the self-hosted WordPress universe.
- Manual updates. No auto-update mechanism. Staying current requires operational attention.
- Managed community pricing is steep. Cloud68.co’s €49/mo for 15 writers doesn’t justify itself against WriteFreely.host’s $10/mo for 100, or self-hosting at €7/mo for the same [1][2].
Who Should Use This / Who Shouldn’t
Use WriteFreely if:
- You want a personal blog or small writing community that publishes to Mastodon and the fediverse natively, without treating ActivityPub as an afterthought.
- You’re escaping Medium or Substack specifically to get away from engagement metrics and platform lock-in.
- You have basic Linux/VPS experience or are willing to spend an afternoon learning it — the Go binary makes setup straightforward.
- You’re hosting a writing community of 10–300 people and want a single instance where everyone gets their own blog without the complexity of WordPress Multisite.
- Resource constraints matter — a Raspberry Pi or a $5 VPS is genuinely sufficient.
Skip it (pick Ghost instead) if:
- You need email newsletters, membership tiers, or content monetization.
- You want themes, visual customization, or a content API for headless use.
- Your readers expect a comments section or community features beyond the writing itself.
- You’re building a content marketing operation that needs SEO plugins, analytics integration, or a CMS with editorial workflow.
Skip it (stay on WordPress) if:
- You need plugins — for e-commerce, custom forms, membership, or any of the thousand things WordPress handles.
- Your team is already trained on WordPress editorial workflows.
- You need WooCommerce or anything that makes the site transactional.
Skip it (pick Micro.blog) if:
- You want managed fediverse-connected blogging with a community built in and no server management at all.
Skip it entirely if:
- Fediverse/ActivityPub integration isn’t a priority and minimalism feels more like a limitation than a feature. Ghost at $9/mo self-hosted delivers more for the same operational overhead.
Alternatives Worth Considering
- Ghost — the strongest competitor for writers who need newsletters and member subscriptions alongside a clean writing experience. MIT licensed, self-hostable, Node.js based. Significantly more capable and significantly more complex. Ghost Pro is more expensive; self-hosted Ghost is comparable in cost to WriteFreely [not in source data — based on public knowledge].
- WordPress — the default for a reason. Infinite plugin ecosystem, large community, heavy operationally. The anti-WriteFreely in philosophy. Worth it only if you need what WordPress uniquely provides.
- Micro.blog — managed fediverse-connected blogging, no server management. More social features. Paid service starting at $5/mo. Relevant if you want the fediverse connection without running a VPS.
- Plume — another AGPL-3.0 ActivityPub-native blogging platform. Similar philosophy, smaller community, less mature. Mentioned in the WriteFreely README as a compatible federated alternative [README].
- Hugo / Zola (static site generators) — zero runtime, free hosting on Cloudflare Pages or Netlify. No ActivityPub unless you add it manually. Maximum control, maximum DIY. Relevant for technical writers who don’t need multi-user.
- Writefreely.host — if you want WriteFreely without server management, this is the official managed option at more reasonable pricing than Cloud68.co for communities [2].
Bottom Line
WriteFreely is a tool with a strong point of view, and the point of view is correct for a narrow audience. If you want a blogging platform that federates with Mastodon, requires almost no server resources, and refuses to gamify your writing with engagement metrics, WriteFreely delivers exactly that and nothing more. The “nothing more” is where most people will hit the ceiling — no newsletters, no comments, no memberships, no themes worth discussing. The AGPL-3.0 license is also worth registering: it’s not the permissive open source some people expect when they see “open source.” For a personal blog or a small writing community that primarily cares about clean output and fediverse reach, the math on self-hosting is compelling — roughly €7–15/mo versus $49–$99/mo for managed alternatives at community scale. For anything that needs to do more than publish words to the open web, look at Ghost first.
Sources
- Cloud68.co — WriteFreely: Managed Hosting. https://cloud68.co/managed-hosting/writefreely
- Rost Glukhov — Writefreely Federated Blogging Platform - Selfhosting vs Managed Costs. https://www.glukhov.org/post/2025/10/writefreely-selfhosting-vs-managed-costs/
Primary sources:
- GitHub repository and README: https://github.com/writeas/writefreely (5,105 stars, AGPL-3.0)
- Official website: https://writefreely.org
- Features page: https://writefreely.org/features/
- About page: https://writefreely.org/about
- Write.as managed service: https://write.as/writefreely
Category
Replaces
Related Content Management Tools
View all 124 →Strapi
72KThe leading open-source headless CMS — design content models, generate REST and GraphQL APIs instantly, and manage content for any frontend framework.
Ghost
52KProfessional publishing platform with built-in newsletters, memberships, and paid subscriptions. Used by Platformer, 404Media, The Browser, and thousands more.
Payload CMS
41KPayload is a Next.js-native headless CMS and application framework that gives developers full TypeScript control over content management with zero vendor lock-in.
Reactive Resume
36KA free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume.
Directus
35KBuilt for developers who need more than a CMS. Manage complex content, handle digital assets, and control permissions through an intuitive Studio.
WordPress
21KThe world's most widely used content management system powering blogs, business sites, and e-commerce stores.