2024-11-12 23:07:49 +01:00
|
|
|
# finance overview
|
2025-01-26 00:34:16 +01:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
lib,
|
|
|
|
pkgs,
|
|
|
|
...
|
|
|
|
}:
|
2024-11-12 23:07:49 +01:00
|
|
|
let
|
|
|
|
cfg = config.my.services.finance;
|
|
|
|
inherit (config.networking) domain;
|
|
|
|
in
|
|
|
|
{
|
|
|
|
options.my.services.finance = with lib; {
|
|
|
|
enable = lib.mkEnableOption "Finance firefly service.";
|
|
|
|
|
|
|
|
appKeyFile = mkOption {
|
|
|
|
type = types.path;
|
|
|
|
description = "appkey for the service.";
|
|
|
|
example = "/run/secrets/freshrss";
|
|
|
|
default = "base64:ICs6jizTJnu4U8Sl/+GKIUC6TSK+0i+Lu84CicRhTNE=";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
|
|
services.firefly-iii = {
|
|
|
|
enable = true;
|
|
|
|
virtualHost = "finance";
|
2025-01-26 00:34:16 +01:00
|
|
|
user = "caddy";
|
|
|
|
group = "caddy";
|
2024-11-12 23:07:49 +01:00
|
|
|
settings = {
|
|
|
|
APP_KEY_FILE = cfg.appKeyFile;
|
|
|
|
SITE_OWNER = "server@buehler.rocks";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2025-01-26 00:34:16 +01:00
|
|
|
my.services.webserver.virtualHosts = [
|
|
|
|
{
|
|
|
|
subdomain = "finance";
|
|
|
|
extraConfig = ''
|
|
|
|
file_server
|
|
|
|
root * "${config.services.firefly-iii.package}/public"
|
|
|
|
php_fastcgi unix/${config.services.phpfpm.pools."firefly-iii".socket} {
|
|
|
|
env modHeadersAvailable true
|
|
|
|
}
|
|
|
|
'';
|
|
|
|
}
|
|
|
|
];
|
2024-11-12 23:07:49 +01:00
|
|
|
|
|
|
|
webapps.apps.finance = {
|
|
|
|
dashboard = {
|
|
|
|
name = "Finance";
|
|
|
|
category = "app";
|
|
|
|
icon = "coins";
|
|
|
|
url = "https://finance.${domain}";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|