diff --git a/nixos/viridian/services/default.nix b/nixos/viridian/services/default.nix index ecf5be3..1a1b5d7 100644 --- a/nixos/viridian/services/default.nix +++ b/nixos/viridian/services/default.nix @@ -5,5 +5,6 @@ ./traefik ./borgbackup.nix ./mpd.nix + ./httpd.nix ]; } diff --git a/nixos/viridian/services/httpd.nix b/nixos/viridian/services/httpd.nix new file mode 100644 index 0000000..7f03b6e --- /dev/null +++ b/nixos/viridian/services/httpd.nix @@ -0,0 +1,20 @@ +{ ... }: + +{ + services.httpd = { + enable = true; + virtualHosts."sajenim.dev" = { + documentRoot = "/var/www/sajenim.dev"; + listen = [{ + ip = "192.168.1.102"; + port = 5624; + }]; + }; + }; + environment.persistence."/persist" = { + directories = [ + "/var/www/sajenim.dev" + ]; + hideMounts = true; + }; +} diff --git a/nixos/viridian/services/traefik/routers.nix b/nixos/viridian/services/traefik/routers.nix index 5cc5188..8458bbc 100644 --- a/nixos/viridian/services/traefik/routers.nix +++ b/nixos/viridian/services/traefik/routers.nix @@ -2,11 +2,15 @@ { services.traefik.dynamicConfigOptions.http.routers = { + blog = { + rule = "Host(`sajenim.dev`)"; entryPoints = [ "websecure" ]; middlewares = [ + "geoblock" ]; + service = "blog"; }; homarr = { diff --git a/nixos/viridian/services/traefik/services.nix b/nixos/viridian/services/traefik/services.nix index 82b1bee..241e321 100644 --- a/nixos/viridian/services/traefik/services.nix +++ b/nixos/viridian/services/traefik/services.nix @@ -2,6 +2,8 @@ { services.traefik.dynamicConfigOptions.http.services = { + blog.loadBalancer.servers = [ + { url = "http://192.168.1.102:5624"; } ]; homarr.loadBalancer.servers = [ { url = "http://192.168.1.102:7575"; }