summary refs log tree commit diff
path: root/host/Spacebar-postgres/configuration.nix
diff options
context:
space:
mode:
authorTheArcaneBrony <myrainbowdash949@gmail.com>2023-03-29 00:55:52 +0200
committerRory& <root@rory.gay>2024-06-05 15:49:39 +0200
commit9399700cb5552c3c0a35e231b9a3a637c3f3578d (patch)
treebeb73898b5df185adc05047a320c37d5493b5bbb /host/Spacebar-postgres/configuration.nix
parentInitial commit (diff)
downloadSpacebar-Open-Infrastructure-9399700cb5552c3c0a35e231b9a3a637c3f3578d.tar.xz
Add postgres and synapse
Diffstat (limited to 'host/Spacebar-postgres/configuration.nix')
-rwxr-xr-xhost/Spacebar-postgres/configuration.nix51
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!
+}
+