Ik heb een eigen blog geïnstalleerd — vooral om #NixOS beter te leren kennen. Verrassend genoeg ging dat allemaal vrij ongecompliceerd.
WriteFreely past daar erg goed bij: minimalistisch, snel opgezet en zonder veel ballast. Perfect om gewoon aan de slag te gaan en gaandeweg wat bij te leren. De configuratie is prettig overzichtelijk. Een paar opties instellen, map voorbereiden, reverse proxy ervoor — klaar.
Zo ziet mijn huidige NixOS-configuratie hiervoor eruit:
{ config, pkgs, ... }:
{
services.writefreely = {
enable = true;
host = "blog.burningboard.org";
settings = {
server = {
port = 8080;
min_log_level = "debug";
};
app = {
host = "https://blog.burningboard.org";
single_user = true;
landing = "/read";
wf_modesty = true;
federation = true;
public_stats = true;
theme = "write";
};
};
stateDir = "/opt/writefreely";
};
# Fix voor de ActivityPub-sleutelgeneratie: federatie vereist openssl
systemd.services.writefreely.path = [ pkgs.openssl ];
# Automatisch aanmaken van de datamap met de juiste rechten
systemd.tmpfiles.rules = [
"d /opt/writefreely 0700 writefreely writefreely -"
];
services.caddy.virtualHosts."blog.burningboard.org".extraConfig = ''
reverse_proxy 127.0.0.1:8080 {
header_up Host {host}
header_up X-Real-IP {remote_host}
header_up X-Forwarded-For {remote_host}
header_up X-Forwarded-Proto {scheme}
}
'';
}
Dat was het in essentie. NixOS maakt het echt eenvoudig om dit soort diensten netjes te configureren en reproduceerbaar te houden.