diff --git a/modules/lib/mkService.nix b/modules/lib/mkService.nix index 5f1702e..c19a1c0 100644 --- a/modules/lib/mkService.nix +++ b/modules/lib/mkService.nix @@ -246,7 +246,7 @@ in { serviceConfig.ExecStartPre = [ "+${pkgs.writeShellScript "${name}-setup" '' - mkdir -p ${cfg.dataDir}/app + mkdir -p ${cfg.dataDir}/app/data mkdir -p ${cfg.dataDir}/data chown -R ${name}:services ${cfg.dataDir} chmod -R g+rwX ${cfg.dataDir} diff --git a/modules/nixos/services/cachet.nix b/modules/nixos/services/cachet.nix index 9d6ea63..e6fad46 100644 --- a/modules/nixos/services/cachet.nix +++ b/modules/nixos/services/cachet.nix @@ -17,7 +17,7 @@ mkService { entryPoint = "src/index.ts"; extraConfig = cfg: { - # Set DATABASE_PATH environment variable (uses the data dir created by mkService) + # Set DATABASE_PATH environment variable (uses separate data dir) systemd.services.cachet.serviceConfig.Environment = [ "DATABASE_PATH=${cfg.dataDir}/data/cachet.db" ]; diff --git a/modules/nixos/services/hn-alerts.nix b/modules/nixos/services/hn-alerts.nix index 47c15ec..a59ce9a 100644 --- a/modules/nixos/services/hn-alerts.nix +++ b/modules/nixos/services/hn-alerts.nix @@ -14,10 +14,14 @@ let startCommand = "${pkgs.unstable.bun}/bin/bun start"; extraConfig = cfg: { + # Set DATABASE_URL environment variable + atelier.services.hn-alerts.environment = { + DATABASE_URL = "${cfg.dataDir}/data/hn-alerts.db"; + }; + # Data declarations for automatic backup - # App uses ./local.db relative to app dir by default atelier.services.hn-alerts.data = { - sqlite = "${cfg.dataDir}/app/local.db"; + sqlite = "${cfg.dataDir}/data/hn-alerts.db"; }; }; }; diff --git a/modules/nixos/services/indiko.nix b/modules/nixos/services/indiko.nix index 03cd547..e97b826 100644 --- a/modules/nixos/services/indiko.nix +++ b/modules/nixos/services/indiko.nix @@ -14,11 +14,12 @@ mkService { entryPoint = "src/index.ts"; extraConfig = cfg: { - # Add ORIGIN and RP_ID environment variables - systemd.services.indiko.serviceConfig.Environment = [ - "ORIGIN=https://${cfg.domain}" - "RP_ID=${cfg.domain}" - ]; + # Add ORIGIN, RP_ID, and DATABASE_URL environment variables + atelier.services.indiko.environment = { + ORIGIN = "https://${cfg.domain}"; + RP_ID = cfg.domain; + DATABASE_URL = "${cfg.dataDir}/data/indiko.db"; + }; # Custom Caddy config with rate limiting on auth endpoints services.caddy.virtualHosts.${cfg.domain}.extraConfig = '' @@ -67,9 +68,8 @@ mkService { atelier.services.indiko.caddy.enable = false; # Data declarations for automatic backup (SQLite for sessions/tokens) - # App uses hardcoded data/indiko.db relative to app dir atelier.services.indiko.data = { - sqlite = "${cfg.dataDir}/app/data/indiko.db"; + sqlite = "${cfg.dataDir}/data/indiko.db"; }; }; } diff --git a/modules/nixos/services/l4.nix b/modules/nixos/services/l4.nix index dd25c24..0c9aea3 100644 --- a/modules/nixos/services/l4.nix +++ b/modules/nixos/services/l4.nix @@ -14,15 +14,15 @@ let entryPoint = "src/index.ts"; extraConfig = cfg: { - # Add PUBLIC_URL environment variable + # Add PUBLIC_URL and STATS_DB_PATH environment variables atelier.services.l4.environment = { PUBLIC_URL = "https://${cfg.domain}"; + STATS_DB_PATH = "${cfg.dataDir}/data/stats.db"; }; # Data declarations for backup (SQLite stats database) - # App runs from ${dataDir}/app and uses ./data/stats.db atelier.services.l4.data = { - sqlite = "${cfg.dataDir}/app/data/stats.db"; + sqlite = "${cfg.dataDir}/data/stats.db"; }; }; };