میں نے اپنا ایک بلاگ انسٹال کیا ہے — خاص طور پر #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";
};
# ActivityPub کی کلید بنانے کے لیے فکس: فیڈریشن کے لیے openssl درکار ہے
systemd.services.writefreely.path = [ pkgs.openssl ];
# درست اجازتوں کے ساتھ ڈیٹا ڈائریکٹری کی خودکار تخلیق
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}
}
'';
}
بس بنیادی طور پر یہی تھا۔ NixOS ایسی سروسز کو صاف ستھرے طریقے سے کنفیگر کرنے اور انہیں دوبارہ قابلِ استعمال (reproducible) رکھنے کو واقعی آسان بنا دیتا ہے۔