nixos-module: fix db setup

This commit is contained in:
Astro 2023-08-08 23:23:51 +02:00
parent 104a62d781
commit 0898791a4a
1 changed files with 11 additions and 10 deletions

View File

@ -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}";