diff options
Diffstat (limited to 'host/Spacebar-postgres/configuration.nix')
-rwxr-xr-x | host/Spacebar-postgres/configuration.nix | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/host/Spacebar-postgres/configuration.nix b/host/Spacebar-postgres/configuration.nix new file mode 100755 index 0000000..b40fd3a --- /dev/null +++ b/host/Spacebar-postgres/configuration.nix @@ -0,0 +1,51 @@ +{ config, pkgs, lib, ... }: + +{ + imports = + [ + ../../modules/base.nix + ]; + + networking = { + hostName = "Spacebar-postgres"; + interfaces.ens18.ipv4.addresses = [ { + address = "192.168.1.4"; + prefixLength = 24; + } ]; + interfaces.ens19.ipv4.addresses = [ { + address = "10.10.11.4"; + prefixLength = 16; + } ]; + }; + + systemd.tmpfiles.rules = [ "d /data/pg 0750 postgres postgres" ]; + + services.postgresql = { + enable = true; + package = pkgs.postgresql_14; + 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 matrix-synapse-spacebar-chat matrix-synapse-spacebar-chat 192.168.1.5/32 trust + host all all 0.0.0.0/0 md5 + ''; + initialScript = pkgs.writeText "backend-initScript" '' + CREATE ROLE matrix-synapse-spacebar-chat WITH LOGIN PASSWORD '${pkgs.postgresql_14}' CREATEDB; + CREATE DATABASE matrix-synapse-spacebar-chat; + GRANT ALL PRIVILEGES ON DATABASE matrix-synapse-spacebar-chat TO matrix-synapse-spacebar-chat; + ''; + dataDir = "/data/pg"; + settings = { + "max_connections" = "100"; + "shared_buffers" = "128MB"; + "max_wal_size" = "1GB"; + "min_wal_size" = "80MB"; + }; + }; + + system.stateVersion = "22.11"; # DO NOT EDIT! +} + |