Özellikle #NixOS'u daha yakından tanımak için kendi blogumu kurdum. Şaşırtıcı bir şekilde her şey oldukça sorunsuz ilerledi.
WriteFreely bu iş için gerçekten çok uygun: minimalist, hızlı kuruluyor ve gereksiz yüklerden arınmış. Sadece işe koyulmak ve bu sırada bir şeyler öğrenmek için mükemmel. Yapılandırması ise oldukça anlaşılır. Birkaç seçenek belirlendi, dizin hazırlandı, önüne bir reverse proxy eklendi — ve bitti.
İşte bunun için kullandığım güncel NixOS yapılandırmam:
{ 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";
};
# ActivityPub anahtar üretimi için düzeltme: Federasyon openssl gerektirir
systemd.services.writefreely.path = [ pkgs.openssl ];
# Veri dizininin doğru izinlerle otomatik olarak oluşturulması
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}
}
'';
}
Temelde hepsi bu kadar. NixOS, bu tür hizmetleri temiz bir şekilde yapılandırmayı ve yeniden üretilebilir tutmayı gerçekten kolaylaştırıyor.