nixfiles/hosts/hetzner-arm/containers/postgresql/profiles/postgres.nix

36 lines
870 B
Nix
Raw Normal View History

{
self,
hostPath,
...
}: let
wireguardData = import "${self}/data/wireguard/chaosInternalWireGuard.nix";
wireguardHosts = wireguardData.hosts;
localContainersAddresses = import "${hostPath}/data/containerAddresses.nix";
in {
services.postgresql = {
enable = true;
enableTCPIP = true;
ensureDatabases = [
"gotosocial"
"quassel"
];
ensureUsers = [
{
name = "gotosocial";
ensureDBOwnership = true;
}
{
name = "quassel";
ensureDBOwnership = true;
}
];
# If the host is a local container then use the container's IP
# otherwise use the host's IP
authentication = ''
host gotosocial gotosocial ${localContainersAddresses.containers."social"}/32 trust
host quassel quassel ${localContainersAddresses.containers."quassel"}/32 trust
'';
};
}