fix actual again
This commit is contained in:
@@ -1,10 +1,12 @@
|
|||||||
{ ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
let
|
let
|
||||||
actualPort = 3333;
|
actualPort = 3333;
|
||||||
hostDataDir = "/media/nas/ssd/nix-app-data/actual";
|
hostDataDir = "/media/nas/ssd/nix-app-data/actual";
|
||||||
dataDir = "/var/lib/actual";
|
dataDir = "/data";
|
||||||
hostAddress = "10.0.1.18";
|
hostAddress = "10.0.1.18";
|
||||||
localAddress = "10.0.3.18";
|
localAddress = "10.0.3.18";
|
||||||
|
actualUserId = config.users.users.nix-apps.uid;
|
||||||
|
actualGroupId = config.users.groups.jallen-nas.gid;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
containers.actual = {
|
containers.actual = {
|
||||||
@@ -28,8 +30,46 @@ in
|
|||||||
settings = {
|
settings = {
|
||||||
trustedProxies = [ hostAddress ];
|
trustedProxies = [ hostAddress ];
|
||||||
port = actualPort;
|
port = actualPort;
|
||||||
config = {
|
dataDir = dataDir;
|
||||||
dataDir = dataDir;
|
serverFiles = "${dataDir}/server-files";
|
||||||
|
userFiles = "${dataDir}/user-files";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users.actual = {
|
||||||
|
isSystemUser = true;
|
||||||
|
uid = lib.mkForce actualUserId;
|
||||||
|
group = "actual";
|
||||||
|
};
|
||||||
|
|
||||||
|
users.groups = {
|
||||||
|
actual = {
|
||||||
|
gid = lib.mkForce actualGroupId;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# System packages
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
sqlite
|
||||||
|
];
|
||||||
|
|
||||||
|
# Create and set permissions for required directories
|
||||||
|
system.activationScripts.actual-dirs = ''
|
||||||
|
mkdir -p ${dataDir}
|
||||||
|
chown -R actual:actual ${dataDir}
|
||||||
|
chmod -R 0700 ${dataDir}
|
||||||
|
'';
|
||||||
|
|
||||||
|
systemd.services = {
|
||||||
|
actual = {
|
||||||
|
environment.ACTUAL_CONFIG_PATH = lib.mkForce "${dataDir}/config.json";
|
||||||
|
serviceConfig = {
|
||||||
|
ExecStart = lib.mkForce "${pkgs.actual-server}/bin/actual-server --config ${dataDir}/config.json";
|
||||||
|
WorkingDirectory = lib.mkForce dataDir;
|
||||||
|
StateDirectory = lib.mkForce dataDir;
|
||||||
|
StateDirectoryMode = lib.mkForce 0700;
|
||||||
|
DynamicUser = lib.mkForce false;
|
||||||
|
ProtectSystem = lib.mkForce null;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user