MCPSERV.CLUB
WriteFreely

WriteFreely

Self-Hosted

Minimalist, distraction‑free blogging platform

Active(92)
4.9kstars
0views
Updated 1 day ago
WriteFreely screenshot 1
1 / 2

Overview

Discover what makes WriteFreely powerful

WriteFreely is a lightweight, self‑hosted publishing platform designed to give developers full control over their content stack while maintaining a minimal resource footprint. At its core, the application exposes a single Go binary that serves both the editor and reader interfaces, leveraging an embedded SQLite database by default or a MySQL backend for larger deployments. The API surface is intentionally lean: content is stored as Markdown, tags are handled via hashtags, and static pages can be generated by pinning posts. This simplicity translates into fast boot times (typically < 2 s on a modern CPU) and minimal runtime dependencies, making it an attractive choice for environments ranging from personal Raspberry Pi setups to Kubernetes clusters.

Markdown Editor

Hashtag Taxonomy

Static Page Generation

Federation APIs

Overview

WriteFreely is a lightweight, self‑hosted publishing platform designed to give developers full control over their content stack while maintaining a minimal resource footprint. At its core, the application exposes a single Go binary that serves both the editor and reader interfaces, leveraging an embedded SQLite database by default or a MySQL backend for larger deployments. The API surface is intentionally lean: content is stored as Markdown, tags are handled via hashtags, and static pages can be generated by pinning posts. This simplicity translates into fast boot times (typically < 2 s on a modern CPU) and minimal runtime dependencies, making it an attractive choice for environments ranging from personal Raspberry Pi setups to Kubernetes clusters.

Architecture

WriteFreely is written entirely in Go (golang), a compiled language that produces statically linked binaries. The web layer is built on top of the standard net/http package with a small set of community‑maintained middlewares for routing, CSRF protection, and templating. Data persistence uses SQLite as the default store, accessed via the database/sql interface and an SQLite driver. For production scenarios requiring horizontal scaling or stronger consistency guarantees, developers can swap in MySQL (or MariaDB) without code changes. The application also implements the ActivityPub protocol, exposing a public inbox and outbox that allow federation with Mastodon, Pleroma, and other fediverse actors. OAuth 2.0 is supported for third‑party authentication, enabling integration with existing identity providers.

Core Capabilities

  • Markdown Editor – A single‑page editor that auto‑saves drafts to the server, providing a distraction‑free writing experience.
  • Hashtag Taxonomy – Tags are parsed from post content and exposed via a RESTful API (/api/v1/tags), allowing developers to build custom tag clouds or analytics dashboards.
  • Static Page Generation – By pinning a post, the server treats it as a static page; developers can expose these pages through custom routes or embed them in external sites.
  • Federation APIs – The ActivityPub endpoints (/inbox, /outbox) are fully compliant, and developers can hook into the activitypub package to create custom actors or modify delivery logic.
  • Webhooks – A lightweight webhook system lets external services subscribe to events such as post.created, post.updated, and comment.added.

Deployment & Infrastructure

Deploying WriteFreely is a matter of downloading the pre‑compiled binary for your platform and placing it in a directory with its configuration file (config.yaml). The application bundles all static assets, so no separate web server is required. For containerized environments, the official Docker image (ghcr.io/writefreely/writefreely) is available and can be orchestrated with Docker Compose or Kubernetes. The image exposes a single port (default 8080) and can be run with environment variables to switch databases or enable TLS via a reverse proxy. Because the binary is statically linked, the image size stays under 200 MB, and memory usage typically remains below 100 MiB even under moderate traffic.

Integration & Extensibility

While WriteFreely offers a solid core out of the box, its extensibility shines through three primary channels:

  1. Plugins – The application exposes a plugin API that allows developers to inject middleware, modify request handling, or add new routes without touching the core codebase.
  2. ActivityPub Customization – By implementing custom serializers or intercepting outbound activities, developers can tailor federation behavior (e.g., filtering certain content types or adding custom metadata).
  3. External APIs – The public REST API can be consumed by third‑party services, such as static site generators, analytics tools, or custom front‑ends built with frameworks like React or Vue.

Developer Experience

The configuration is YAML‑based and self‑documenting; changing the database type, enabling HTTPS, or configuring OAuth providers requires only a few lines. The project’s documentation is comprehensive, with sections covering API usage, deployment scenarios, and federation concepts. Community support comes from an active GitHub repository (over 5 k stars), a dedicated Discord channel, and regular contributions from the open‑source community. The Go ecosystem’s tooling (go mod, vet, and lint) ensures that code quality remains high across releases.

Use Cases

  • Personal Blogging – A solo developer can spin up a local instance on a laptop or Pi, write Markdown posts, and publish to the fediverse with minimal overhead.
  • Corporate Knowledge Bases – Organizations can host WriteFreely behind their intranet, leveraging OAuth for single‑sign‑on and using the API to integrate with internal documentation portals.
  • Federated Communities – Community managers can create a shared writing space that federates with Mastodon or Pleroma, allowing members to follow each other’s posts across platforms.
  • Static Site Generation – The API can feed a static site generator, producing a fully rendered blog that is then served from a CDN for high performance.

Advantages

  • Performance & Resource Efficiency – Go’s compiled binaries and minimal dependencies mean low latency and negligible RAM usage.
  • Licensing & Freedom – The project is released under an MIT‑style license, allowing unrestricted modification and redistribution.
  • Scalability – With support for MySQL and ActivityPub, WriteFreely can scale from a single‑user blog to thousands of concurrent writers without architectural changes.
  • Simplicity – The developer experience is

Open SourceReady to get started?

Join the community and start self-hosting WriteFreely today

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
other
License
AGPL-3.0
Stars
4.9k
Technical Specs
Pricing
Open Source
Database
Multiple
Docker
Official
Supported OS
LinuxDocker
Author
writefreely
writefreely
Last Updated
1 day ago