diff --git a/nixos/server/package-configs/caddy/default.nix b/nixos/server/package-configs/caddy/default.nix new file mode 100644 index 0000000..029c590 --- /dev/null +++ b/nixos/server/package-configs/caddy/default.nix @@ -0,0 +1,56 @@ +{config, ...}: { + services.phpfpm.pools.nextcloud.settings = { + "listen.owner" = config.services.caddy.user; + "listen.group" = config.services.caddy.group; + }; + + users.users.caddy.extraGroups = ["nextcloud"]; + + services.caddy = { + enable = true; + + # Setup Nextcloud virtual host to listen on ports + virtualHosts = { + "${config.services.nextcloud.hostName}" = { + useACMEHost = "${config.services.nextcloud.hostName}"; + extraConfig = '' + redir /.well-known/carddav /remote.php/dav 301 + redir /.well-known/caldav /remote.php/dav 301 + redir /.well-known/webfinger /index.php/.well-known/webfinger 301 + redir /.well-known/nodeinfo /index.php/.well-known/nodeinfo 301 + + encode gzip + reverse_proxy localhost:9000 + header Strict-Transport-Security max-age=31536000; + @forbidden { + path /.htaccess + path /data/* + path /config/* + path /db_structure + path /.xml + path /README + path /3rdparty/* + path /lib/* + path /templates/* + path /occ + path /console.php + } + handle @forbidden { + respond 404 + } + + handle { + root * /var/www/html + php_fastcgi 127.0.0.1:9000 { + # Tells nextcloud to remove /index.php from URLs in links + env front_controller_active true + } + file_server + } + ''; + }; + "onlyoffice.gladtherescake.eu" = { + }; + }; + }; +}