From 0898791a4ac1ec2d453ed183c4871eb11c4ed0b6 Mon Sep 17 00:00:00 2001 From: Astro Date: Tue, 8 Aug 2023 23:23:51 +0200 Subject: [PATCH] nixos-module: fix db setup --- nixos-module.nix | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/nixos-module.nix b/nixos-module.nix index a0e7e0b..4d9a3af 100644 --- a/nixos-module.nix +++ b/nixos-module.nix @@ -6,9 +6,12 @@ let blocklistPath = "/etc/caveman.blocklist"; profanityPath = "/etc/caveman.profanity"; + dbUser = "caveman"; + dbPassword = "c"; + hunterDefaultSettings = { redis = "redis://127.0.0.1:${toString cfg.redis.port}/"; - database = "host=/var/run/postgresql user=caveman-hunter dbname=caveman"; + database = "host=localhost user=${dbUser} password=${dbPassword} dbname=caveman"; hosts = [ "mastodon.social" ]; max_workers = 16; prometheus_port = 9101; @@ -34,7 +37,7 @@ let gathererDefaultSettings = { redis = "redis://127.0.0.1:${toString cfg.redis.port}/"; - database = "host=/var/run/postgresql user=caveman-gatherer dbname=caveman"; + database = "host=localhost user=${dbUser} password=${dbPassword} dbname=caveman"; listen_port = 8000; }; @@ -150,22 +153,20 @@ in enable = true; ensureDatabases = [ "caveman" ]; ensureUsers = [ { - name = "caveman-gatherer"; - ensurePermissions = { - "DATABASE caveman" = "ALL PRIVILEGES"; - }; - } { - name = "caveman-hunter"; + name = dbUser; ensurePermissions = { "DATABASE caveman" = "ALL PRIVILEGES"; }; } ]; + initialScript = pkgs.writeScript "initScript" '' + ALTER USER ${dbUser} WITH PASSWORD '${dbPassword}'; + ''; }; systemd.services.caveman-hunter = lib.mkIf cfg.hunter.enable { wantedBy = [ "multi-user.target" ]; requires = [ "redis-caveman.service" ]; - after = [ "redis-caveman.service" "network-online.target" ]; + after = [ "redis-caveman.service" "postgresql.service" "network-online.target" ]; environment.RUST_LOG = "caveman=${cfg.hunter.logLevel}"; serviceConfig = { ExecStart = "${pkgs.caveman-hunter}/bin/caveman-hunter ${hunterConfigFile}"; @@ -221,7 +222,7 @@ in systemd.services.caveman-gatherer = lib.mkIf cfg.gatherer.enable { wantedBy = [ "multi-user.target" ]; requires = [ "redis-caveman.service" ]; - after = [ "redis-caveman.service" "network-online.target" ]; + after = [ "redis-caveman.service" "postgresql.service" "network-online.target" ]; environment.RUST_LOG = "caveman=${cfg.gatherer.logLevel}"; serviceConfig = { ExecStart = "${pkgs.caveman-gatherer}/bin/caveman-gatherer ${gathererConfigFile}";