43 lines
1.1 KiB
Nix
43 lines
1.1 KiB
Nix
{
|
|
config,
|
|
nodes,
|
|
lib,
|
|
...
|
|
}: {
|
|
i18n.supportedLocales = ["all"];
|
|
wireguard.elisabeth = {
|
|
client.via = "elisabeth";
|
|
firewallRuleForNode.elisabeth.allowedTCPPorts = [80];
|
|
};
|
|
|
|
age.secrets.appKey = {
|
|
generator.script = _: ''
|
|
echo "base64:$(head -c 32 /dev/urandom | base64)"
|
|
'';
|
|
owner = "firefly-iii";
|
|
};
|
|
|
|
services.firefly-iii = {
|
|
enable = true;
|
|
enableNginx = true;
|
|
virtualHost = "money.${config.secrets.secrets.global.domains.web}";
|
|
settings = {
|
|
APP_URL = lib.mkForce "https://money.${config.secrets.secrets.global.domains.web}";
|
|
TZ = "Europe/Berlin";
|
|
TRUSTED_PROXIES = nodes.elisabeth.config.wireguard.elisabeth.ipv4;
|
|
SITE_OWNER = "firefly-admin@${config.secrets.secrets.global.domains.mail_public}";
|
|
APP_KEY_FILE = config.age.secrets.appKey.path;
|
|
AUTHENTICATION_GUARD = "remote_user_guard";
|
|
AUTHENTICATION_GUARD_HEADER = "X-User";
|
|
AUTHENTICATION_GUARD_EMAIL = "X-Email";
|
|
};
|
|
};
|
|
|
|
environment.persistence."/persist".directories = [
|
|
{
|
|
directory = "/var/lib/firefly-iii";
|
|
user = "firefly-iii";
|
|
}
|
|
];
|
|
}
|