← Back to list

Writefreely(self-hosted)

November 11, 2022

Self-Hosted Publishing using WriteFreely

I find it good practice to work on open-source, self-hosted projects, and recently I’ve been focusing on WriteFreely. WriteFreely is a clean, minimalist publishing platform made for writers. It’s basically a markdown type publishing platform meant to make publishing easy and straightforward.

Why

Although I am not much of a writer, I often find myself needing to take notes, or write drafts here and there. Text editors are okay, but I find them clutered and frankly speaking, inefficient. I’m on Mac, so maybe its just an OS thing but the current free options are not that great. I have been using the Notes app but its not multi-platform and organising notes in this is a nightmare. With that being said, the minimalist design of writefreely helps focus on writing without getting bogged down by unnecessary features. Additionally, the ability to create multiple blogs from a single account allows me to separate different writing projects easily. It’s self hosted afterall, lots of avenues to include my own custom features.

You can check out my forked version of WriteFreely at:

My Implementation

For my setup, I have WriteFreely running as a service on a server, managed with Nginx and secured with Let’s Encrypt for SSL.

A few notes

  1. Nginx Configuration: I configured Nginx to serve the WriteFreely application on a server block.

  2. SSL with Let’s Encrypt: Using Certbot, I obtained SSL certificates from Let’s Encrypt, ensuring that all data transmitted to and from the server is encrypted.

  3. Service Management: WriteFreely is managed as a systemd service, which allows for easy starting, stopping, and monitoring of the application.

  4. Database Setup: I used SQLite for simplicity and ease of setup, although WriteFreely also supports MySQL for larger scale deployments.