Introduction
WriteFreely is a self-hosted blogging platform that strips away everything except the writing experience. It produces clean, minimal blogs with no ads, trackers, or social media clutter. Built-in ActivityPub federation lets your posts reach followers on Mastodon and other fediverse platforms without leaving your own server.
What WriteFreely Does
- Hosts single-user or multi-user blogs with a clean, minimalist reading experience
- Federates posts via ActivityPub so Mastodon and Pleroma users can follow and interact
- Supports writing in Markdown and plain text with a distraction-free editor
- Allows custom CSS per blog for personalizing the look without modifying the platform
- Provides a simple REST API for publishing and managing posts programmatically
Architecture Overview
WriteFreely is a single Go binary backed by either SQLite or MySQL. It serves both the web interface and the ActivityPub endpoints from one process. The frontend uses server-rendered HTML with minimal JavaScript, keeping pages fast and accessible. Static assets are embedded in the binary for zero-dependency deployment.
Self-Hosting & Configuration
- Run the official Docker image or download the single Go binary for your platform
- Initialize with
writefreely config startto run the interactive setup wizard - Choose SQLite for small instances or MySQL for larger multi-user deployments
- Set your domain, site name, and registration policy (open, closed, or invite-only) in
config.ini - Place behind Nginx or Caddy for HTTPS, which is required for ActivityPub federation
Key Features
- ActivityPub federation lets fediverse users follow blogs and receive posts in their timelines
- Multi-user mode for hosting a community writing platform on a single instance
- Custom CSS per blog for individual styling without platform modifications
- Markdown and MathJax support for technical and academic writing
- Lightweight deployment as a single binary with embedded assets
Comparison with Similar Tools
- Ghost — feature-rich publishing platform with newsletters and memberships; WriteFreely is intentionally minimal
- WordPress — highly extensible with plugins; WriteFreely prioritizes simplicity over customization
- Plume — another federated blogging platform; WriteFreely has a more established community and simpler architecture
- Bear Blog — similar minimalism but SaaS-only; WriteFreely is fully self-hosted and federated
FAQ
Q: Can Mastodon users follow my WriteFreely blog? A: Yes. Each blog has an ActivityPub actor that Mastodon users can follow. New posts appear in their home timeline.
Q: Does WriteFreely support comments? A: Not natively. Replies come through the fediverse — Mastodon users can reply to federated posts, and those replies appear on the fediverse.
Q: Can I run a multi-user blogging community? A: Yes. Multi-user mode lets you host many writers on one instance, each with their own blog URL and custom styling.
Q: What database should I use? A: SQLite is fine for single-user or small community instances. MySQL is recommended for larger deployments with many concurrent writers.