nixos-config/nixos/programs/microboard.nix
2023-08-22 10:08:59 +05:00

37 lines
901 B
Nix

{ config, ... }:
let
dataDir = "/var/lib/microboard";
in
{
systemd.services.microboard = {
description = "Microboard engine";
wantedBy = ["multi-user.target"];
environment = {
MB_LOGLEVEL = "warning";
MB_UPLOADDIR = "${ dataDir }/uploads";
MB_PREVIEWDIR = "${ dataDir }/previews";
MB_DBHOST = "/run/postgresql";
MB_DBUSER = "microboard";
MB_DBNAME = "microboard";
};
serviceConfig = {
User = "microboard";
Group = "microboard";
ExecStart = "${ dataDir }/microboard";
Restart = "on-failure";
Type = "exec";
WorkingDirectory = dataDir;
# Security Hardening
LockPersonality = true;
NoNewPrivileges = true;
ProtectSystem = "strict";
ReadWritePaths = [ dataDir ];
RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ];
RestrictSUIDSGID = true;
};
};
}