redmine: config.
authorJulien Moutinho <julm@autogeree.net>
Sun, 23 Sep 2018 00:06:51 +0000 (02:06 +0200)
committerJulien Moutinho <julm@autogeree.net>
Sun, 23 Sep 2018 00:07:10 +0000 (02:07 +0200)
install/logical/friot.nix
install/logical/friot/redmine.nix [new file with mode: 0644]

index 78cc8286671223e49007d468ac4d19d0e97b3c99..e7d365ce77fb57c35cb53c53789d5ff788055f9a 100644 (file)
@@ -15,6 +15,7 @@ imports = [
   friot/postgrey.nix
   friot/postgresql.nix
   friot/rmilter.nix
+  friot/redmine.nix
   friot/shorewall.nix
   friot/openldap.nix
   #friot/discourse.nix
diff --git a/install/logical/friot/redmine.nix b/install/logical/friot/redmine.nix
new file mode 100644 (file)
index 0000000..b197931
--- /dev/null
@@ -0,0 +1,57 @@
+{pkgs, lib, config, ...}:
+let inherit (config) networking;
+    inherit (config.services) redmine postgresql;
+in
+{
+  config = {
+    services = {
+      redmine = {
+        enable = true;
+        database = {
+          type = "postgresql";
+          host = "/tmp";
+          port = postgresql.port;
+        };
+      };
+      postgresql = {
+        users."${redmine.user}" = {
+          auth = "unix";
+        };
+        databases."${redmine.database.name}" = {
+          owner = redmine.user;
+          users = [ redmine.user ];
+          extraConfig = ''
+            GRANT USAGE  ON SCHEMA pg_catalog TO ${redmine.user};
+            GRANT SELECT ON ALL TABLES IN SCHEMA pg_catalog TO ${redmine.user};
+          '';
+        };
+      };
+      nginx = {
+        upstreams."redmine" = {
+          servers = { "localhost:3000" = {}; };
+        };
+        virtualHosts."redmine" = {
+          serverName = "redmine.${networking.domain}";
+          serverAliases =
+            map (domainAlias: "redmine." + domainAlias)
+                config.networking.domainAliases;
+          locations = {
+            "/" = {
+              extraConfig = ''
+                proxy_next_upstream error timeout
+                 invalid_header http_500 http_502 http_503;
+                proxy_pass http://localhost:3000;
+              '';
+            };
+          };
+        };
+      };
+    };
+    systemd.services.redmine = {
+      environment.REDMINE_LANG = lib.mkForce "fr";
+    };
+    #users.users."${redmine.user}" = {
+    #  extraGroups = [ "postgres" ];
+    #};
+  };
+}