aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/static-website/appspec.nix4
-rw-r--r--apps/static-website/module.nix15
-rw-r--r--systems/system1/configuration.nix1
3 files changed, 16 insertions, 4 deletions
diff --git a/apps/static-website/appspec.nix b/apps/static-website/appspec.nix
index c7e919e..e1b41c0 100644
--- a/apps/static-website/appspec.nix
+++ b/apps/static-website/appspec.nix
@@ -2,6 +2,10 @@
description = "static website";
endOfLife = null;
options = {
+ cors = lib.mkOption {
+ type = lib.types.nullOr lib.types.str;
+ default = null;
+ };
domain = lib.mkOption {
description = "Domain of the website";
type = fysilib.types.fqdn;
diff --git a/apps/static-website/module.nix b/apps/static-website/module.nix
index 659dfad..32fed09 100644
--- a/apps/static-website/module.nix
+++ b/apps/static-website/module.nix
@@ -1,4 +1,11 @@
-{ appConfig, ... }: {
- services.nginx.enable = true;
- services.nginx.virtualHosts.${appConfig.domain}.locations."/".root = appConfig.root;
-}
+{ appConfig, lib, ... }: lib.mkMerge [
+ {
+ services.nginx.enable = true;
+ services.nginx.virtualHosts.${appConfig.domain}.locations."/".root = appConfig.root;
+ }
+ (lib.mkIf (appConfig.cors != null) {
+ services.nginx.virtualHosts.${appConfig.domain}.locations."/".extraConfig = ''
+ add_header 'Access-Control-Allow-Origin' '${appConfig.cors}';
+ '';
+ })
+]
diff --git a/systems/system1/configuration.nix b/systems/system1/configuration.nix
index 13fa8a5..79fc17e 100644
--- a/systems/system1/configuration.nix
+++ b/systems/system1/configuration.nix
@@ -32,6 +32,7 @@
}
# enable static website "static.nomath.org"
{
+ fysiweb-apps.public.static-website."static-nomath-org".cors = "*";
fysiweb-apps.public.static-website."static-nomath-org".domain = "static.nomath.org";
fysiweb-apps.public.static-website."static-nomath-org".root = "/var/lib/abuilder/static-nomath-org/main";
}