diff --git a/modules/nixos/server/grav/default.nix b/modules/nixos/server/grav/default.nix index b3bdfaa..2906070 100644 --- a/modules/nixos/server/grav/default.nix +++ b/modules/nixos/server/grav/default.nix @@ -12,10 +12,13 @@ in with lib; { }; }; - config = { - networking.firewall = { allowedTCPPorts = [ 443 80 ]; }; + config = let port = 5001; + in { + networking.firewall = { allowedTCPPorts = [ port ]; }; services.grav = mkIf cfg.grav.enable { + inherit port; enable = true; + root = "/curr/grav/grav"; phpPackage = pkgs.php81; }; users.users.${config.mods.user.name}.extraGroups = lib.mkAfter [ "grav" ]; diff --git a/modules/nixos/server/grav/service.nix b/modules/nixos/server/grav/service.nix index cc3d416..eeb2347 100644 --- a/modules/nixos/server/grav/service.nix +++ b/modules/nixos/server/grav/service.nix @@ -59,6 +59,17 @@ in { ''; }; + addr = mkOption { + type = types.str; + description = "IP address."; + default = "0.0.0.0"; + }; + port = mkOption { + type = types.nullOr types.port; + description = "Port number."; + default = 3000; + }; + phpPackage = mkPackageOption pkgs "php" { }; maxUploadSize = mkOption { @@ -153,10 +164,16 @@ in { services.nginx = mkIf (cfg.virtualHost != null) { enable = true; + virtualHosts = { ${cfg.virtualHost} = { root = "${servedRoot}"; + listen = [{ + addr = cfg.addr; + port = cfg.port; + }]; + locations = { "= /robots.txt" = { priority = 100;