aboutsummaryrefslogtreecommitdiff
path: root/hosts
diff options
context:
space:
mode:
Diffstat (limited to 'hosts')
-rw-r--r--hosts/tower/web/caddy.nix26
-rw-r--r--hosts/tower/web/default.nix1
-rw-r--r--hosts/tower/web/kanboard.nix18
3 files changed, 45 insertions, 0 deletions
diff --git a/hosts/tower/web/caddy.nix b/hosts/tower/web/caddy.nix
index fa5d7b7..ae471e1 100644
--- a/hosts/tower/web/caddy.nix
+++ b/hosts/tower/web/caddy.nix
@@ -17,6 +17,11 @@ let
domain = "music.sorre.internal";
port = config.services.navidrome.settings.Port;
};
+ kanboard = {
+ domain = config.services.kanboard.domain;
+ socket = config.services.phpfpm.pools.kanboard.socket;
+ package = config.services.kanboard.package;
+ };
blog.port = 7291;
in
{
@@ -57,6 +62,27 @@ in
file_server
'';
};
+
+ "${kanboard.domain}" = {
+ listenAddresses = [ wg-ip ];
+ extraConfig = ''
+ tls {$CREDENTIALS_DIRECTORY}/sagittarius.crt {$CREDENTIALS_DIRECTORY}/sagittarius.key
+
+ root ${kanboard.package}/share/kanboard
+ php_fastcgi unix/${kanboard.socket}
+ file_server
+
+ @assets path *.js *.css *.ttf *.woff *.woff2 *.png *.jpg *.jpeg *.svg
+ header @assets {
+ Cache-Control "public, max-age=15778463"
+ X-Content-Type-Options "nosniff"
+ X-Robots-Tag "none"
+ X-Download-Options "noopen"
+ X-Permitted-Cross-Domain-Policies "none"
+ Referrer-Policy "no-referrer"
+ }
+ '';
+ };
};
};
diff --git a/hosts/tower/web/default.nix b/hosts/tower/web/default.nix
index db0e406..556c8c4 100644
--- a/hosts/tower/web/default.nix
+++ b/hosts/tower/web/default.nix
@@ -6,5 +6,6 @@
./navidrome.nix
./vaultwarden.nix
./caddy.nix
+ ./kanboard.nix
];
}
diff --git a/hosts/tower/web/kanboard.nix b/hosts/tower/web/kanboard.nix
new file mode 100644
index 0000000..d9823af
--- /dev/null
+++ b/hosts/tower/web/kanboard.nix
@@ -0,0 +1,18 @@
+{
+ pkgs,
+ lib,
+ config,
+ ...
+}:
+{
+ services.kanboard = {
+ enable = true;
+ nginx = null;
+ domain = "kanboard.sorre.internal";
+ package = pkgs.kanboard;
+ dataDir = "/var/lib/kanboard";
+ settings = { };
+ };
+
+ services.phpfpm.pools.kanboard.settings."listen.owner" = lib.mkForce config.services.caddy.user;
+}