1
0
Fork 0
piped-flake/module/frontend.nix

29 lines
769 B
Nix
Raw Normal View History

2023-09-08 10:59:27 +01:00
{
config,
lib,
...
2023-09-08 11:46:37 +01:00
}: let
inherit (lib.modules) mkIf;
2023-09-08 10:59:27 +01:00
cfg = config.services.piped;
2023-09-08 11:46:37 +01:00
frontendPackage =
cfg.frontendPackage.override {backendDomain = cfg.backendDomain;};
2023-09-08 10:59:27 +01:00
in {
config = mkIf (cfg.enable && !cfg.disableFrontend && !cfg.disableNginx) {
# https://github.com/TeamPiped/Piped/blob/master/docker/nginx.conf
services.nginx.virtualHosts."${cfg.frontendDomain}" = {
forceSSL = cfg.nginxForceSSL;
enableACME = cfg.nginxEnableACME;
locations."/" = {
2023-09-08 11:46:37 +01:00
root = "${frontendPackage}/share/piped-frontend";
2023-09-08 10:59:27 +01:00
index = "index.html index.htm";
};
# I have no idea why try_files for Single Page Apps doesn't work here
extraConfig = ''
error_page 404 =200 /index.html;
'';
};
};
}