2022-10-12 18:04:06 +01:00
|
|
|
{pkgs, ...}: {
|
|
|
|
services.postgresql = {
|
|
|
|
package = pkgs.postgresql_14;
|
|
|
|
enable = true;
|
|
|
|
|
|
|
|
# Only enable connections via the unix socket, and check with the
|
|
|
|
# OS to make sure the user matches the database name.
|
|
|
|
#
|
|
|
|
# See https://www.postgresql.org/docs/current/auth-pg-hba-conf.html
|
|
|
|
authentication = ''
|
|
|
|
local sameuser all peer
|
|
|
|
'';
|
|
|
|
|
|
|
|
# Note: The following options with ensure.* are set-only; i.e.,
|
|
|
|
# when permissions/users/databases are removed from these lists,
|
|
|
|
# that operation needs to be performed manually on the system as
|
|
|
|
# well.
|
|
|
|
ensureUsers = [
|
2023-09-25 02:32:04 +01:00
|
|
|
{
|
|
|
|
name = "grafana";
|
|
|
|
ensurePermissions = {
|
|
|
|
"DATABASE grafana" = "ALL PRIVILEGES";
|
|
|
|
};
|
|
|
|
}
|
2022-10-12 18:04:06 +01:00
|
|
|
{
|
|
|
|
name = "nextcloud";
|
|
|
|
ensurePermissions = {
|
|
|
|
"DATABASE nextcloud" = "ALL PRIVILEGES";
|
|
|
|
};
|
|
|
|
}
|
|
|
|
];
|
|
|
|
|
|
|
|
ensureDatabases = [
|
2023-09-25 02:32:04 +01:00
|
|
|
"grafana"
|
2022-10-12 18:04:06 +01:00
|
|
|
"nextcloud"
|
|
|
|
];
|
|
|
|
};
|
|
|
|
}
|