feat(services): add dedicated PostgreSQL module

Introduce a dedicated PostgreSQL configuration module to the system. Adjust Nextcloud and Forgejo configurations to utilize this new module.
This commit is contained in:
Harald Hoyer 2024-10-15 08:58:47 +02:00
parent 6d2951155c
commit af5c62eb4b
4 changed files with 28 additions and 26 deletions

View file

@ -1,19 +1,20 @@
{ pkgs, lib, ... }: { pkgs, lib, ... }:
{ {
imports = [ imports = [
./hardware-configuration.nix
./rspamd.nix
# ./goaccess.nix # ./goaccess.nix
./nextcloud.nix ./acme.nix
./backup.nix ./backup.nix
./users.nix ./coturn.nix
./forgejo.nix
./hardware-configuration.nix
./kicker.nix ./kicker.nix
./mailserver.nix ./mailserver.nix
./acme.nix
./forgejo.nix
./nginx.nix
./network.nix ./network.nix
./coturn.nix ./nextcloud.nix
./nginx.nix
./postgresql.nix
./rspamd.nix
./users.nix
]; ];
metacfg = { metacfg = {

View file

@ -34,24 +34,6 @@
users.groups.gitea = { }; users.groups.gitea = { };
services.postgresql = {
package = pkgs.postgresql_14;
ensureDatabases = [
config.services.forgejo.database.name
"nextcloud"
];
ensureUsers = [
{
name = config.services.forgejo.database.user;
ensureDBOwnership = true;
}
{
name = "nextcloud";
ensureDBOwnership = true;
}
];
};
sops.secrets."forgejo-runner-token" = { sops.secrets."forgejo-runner-token" = {
sopsFile = ../../../.secrets/hetzner/forgejo-runner-token.yaml; # bring your own password file sopsFile = ../../../.secrets/hetzner/forgejo-runner-token.yaml; # bring your own password file
}; };

View file

@ -5,6 +5,7 @@
environment.systemPackages = with pkgs; [ ffmpeg ]; environment.systemPackages = with pkgs; [ ffmpeg ];
environment.etc."nextcloud-admin-pass".text = "test123"; environment.etc."nextcloud-admin-pass".text = "test123";
services.nextcloud = { services.nextcloud = {
enable = true; enable = true;
package = pkgs.nextcloud30; package = pkgs.nextcloud30;
@ -44,4 +45,16 @@
"OC\\Preview\\XBitmap" "OC\\Preview\\XBitmap"
]; ];
}; };
services.postgresql = {
ensureDatabases = [
"nextcloud"
];
ensureUsers = [
{
name = "nextcloud";
ensureDBOwnership = true;
}
];
};
} }

View file

@ -0,0 +1,6 @@
{ pkgs, lib, config, ... }:
{
services.postgresql = {
package = pkgs.postgresql_14;
};
}