summary refs log tree commit diff
path: root/host/Rory-desktop/services/postgres.nix
diff options
context:
space:
mode:
Diffstat (limited to 'host/Rory-desktop/services/postgres.nix')
-rwxr-xr-xhost/Rory-desktop/services/postgres.nix45
1 files changed, 45 insertions, 0 deletions
diff --git a/host/Rory-desktop/services/postgres.nix b/host/Rory-desktop/services/postgres.nix
new file mode 100755

index 0000000..c201b04 --- /dev/null +++ b/host/Rory-desktop/services/postgres.nix
@@ -0,0 +1,45 @@ +{ + config, + pkgs, + lib, + ... +}: + +{ + #systemd.tmpfiles.rules = [ "d /mnt/postgres/data 0750 postgres postgres" ]; + + services.postgresql = { + enable = true; + package = pkgs.postgresql_16; + enableTCPIP = true; + authentication = pkgs.lib.mkOverride 10 '' + # TYPE, DATABASE, USER, ADDRESS, METHOD + local all all trust + host all all 127.0.0.1/32 trust + host all all ::1/128 trust + host discordbots discordbots 192.168.1.2/32 trust + host matrix-synapse-rory-gay matrix-synapse-rory-gay 192.168.1.5/32 trust + host all all 0.0.0.0/0 md5 + ''; + # initialScript = pkgs.writeText "backend-initScript" '' + # CREATE ROLE nixcloud WITH LOGIN PASSWORD 'nixcloud' CREATEDB; + # CREATE DATABASE nixcloud; + # GRANT ALL PRIVILEGES ON DATABASE nixcloud TO nixcloud; + # ''; + #dataDir = "/mnt/postgres/data"; + settings = { + "max_connections" = "1000"; + "shared_buffers" = "512MB"; + "max_wal_size" = "1GB"; + "min_wal_size" = "80MB"; + + shared_preload_libraries = "pg_stat_statements"; + track_io_timing = "on"; + track_functions = "pl"; + "pg_stat_statements.max" = "10000"; # additional + "pg_stat_statements.track" = "all"; # additional + + }; + }; + +}