నేను నా స్వంత బ్లాగును ఇన్స్టాల్ చేసుకున్నాను — ప్రధానంగా #NixOS గురించి బాగా తెలుసుకోవడానికి. ఆశ్చర్యకరంగా, ఇదంతా చాలా సులభంగా జరిగిపోయింది.
దీని కోసం WriteFreely చాలా బాగా సరిపోతుంది: ఇది మినిమలిస్టిక్, త్వరగా సెటప్ చేయవచ్చు మరియు అనవసరమైన హంగులు ఏవీ ఉండవు. పనిని ప్రారంభించడానికి మరియు నేర్చుకోవడానికి ఇది సరైనది. దీని కాన్ఫిగరేషన్ చాలా స్పష్టంగా ఉంటుంది. కొన్ని ఆప్షన్లను సెట్ చేయడం, డైరెక్టరీని సిద్ధం చేయడం, రివర్స్ ప్రాక్సీని జోడించడం — అంతే, పని పూర్తయింది.
దీని కోసం నా ప్రస్తుత NixOS కాన్ఫిగరేషన్ ఇలా ఉంది:
{ 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 für die ActivityPub-Schlüsselgenerierung: Föderation erfordert openssl
systemd.services.writefreely.path = [ pkgs.openssl ];
# Automatisches Erstellen des Datenverzeichnisses mit den korrekten Berechtigungen
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}
}
'';
}
ముఖ్యంగా చెప్పాలంటే ఇంతే. ఇటువంటి సర్వీసులను చక్కగా కాన్ఫిగర్ చేయడానికి మరియు వాటిని రీప్రొడ్యూసిబుల్ (reproducible) గా ఉంచడానికి NixOS నిజంగా చాలా సులభతరం చేస్తుంది.