diff --git a/flake.lock b/flake.lock index e272b26..2dbfc5a 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1777387836, - "narHash": "sha256-TdD6RNAAYA3KurypwKdSb1sMhK8TZBcHy+68dKsaM/Y=", + "lastModified": 1777423248, + "narHash": "sha256-2ucoklbxRyOSUUW4W0hDQ3enWYJmpcLSvO52k9Xm5Kw=", "ref": "refs/heads/main", - "rev": "b784f4dd9c3708d64288c11dbcffcb41c02a1478", - "revCount": 109, + "rev": "6ca40e23219c34994cceeb358fe36a8dab06cea2", + "revCount": 110, "type": "git", "url": "https://git.ily.rs/lew/guestbook" }, @@ -71,11 +71,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1775002709, - "narHash": "sha256-d3Yx83vSrN+2z/loBh4mJpyRqr9aAJqlke4TkpFmRJA=", + "lastModified": 1777077449, + "narHash": "sha256-AIiMJiqvGrN4HyLEbKAoCSRRYn0rnlW5VbKNIMIYqm4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bcd464ccd2a1a7cd09aa2f8d4ffba83b761b1d0e", + "rev": "a4bf06618f0b5ee50f14ed8f0da77d34ecc19160", "type": "github" }, "original": { @@ -99,11 +99,11 @@ ] }, "locked": { - "lastModified": 1775188331, - "narHash": "sha256-/0BoSi0Dg0ON7IW0oscM12WSPBaMSCn36XTt0lHZoy8=", + "lastModified": 1777338324, + "narHash": "sha256-bc+ZZCmOTNq86/svGnw0tVpH7vJaLYvGLLKFYP08Q8E=", "owner": "Mic92", "repo": "sops-nix", - "rev": "8f093d0d2f08f37317778bd94db5951d6cce6c46", + "rev": "8eaee5c45428b28b8c47a83e4c09dccec5f279b5", "type": "github" }, "original": { diff --git a/hosts/lab/guestbook.nix b/hosts/lab/guestbook.nix index 8d93c86..13226c5 100644 --- a/hosts/lab/guestbook.nix +++ b/hosts/lab/guestbook.nix @@ -14,16 +14,7 @@ group = "guestbook"; siteTitle = "ily [dot] rs"; - caddy = { - enable = true; - domain = "g.ily.rs"; - forwardAuth = { - enable = true; - address = "localhost:3002"; - uri = "/api/auth/caddy"; - copyHeaders = [ "Remote-User" "Remote-Name" "Remote-Email" "Remote-Groups" ]; - }; - }; + basePath = "/guestbook"; submissions.enable = true; websites.enable = true; diff --git a/hosts/lab/shlink.nix b/hosts/lab/shlink.nix index c2d0841..d73751f 100644 --- a/hosts/lab/shlink.nix +++ b/hosts/lab/shlink.nix @@ -38,13 +38,6 @@ ''; }; - services.caddy.virtualHosts."ily.rs" = { - extraConfig = '' - reverse_proxy localhost:8080 - encode zstd gzip - ''; - }; - services.caddy.virtualHosts."links.ily.rs" = { extraConfig = '' @health path /health-ping diff --git a/hosts/lab/sites.nix b/hosts/lab/sites.nix index 6be770c..885cc82 100644 --- a/hosts/lab/sites.nix +++ b/hosts/lab/sites.nix @@ -9,6 +9,10 @@ # redirectDomains — domains that 301 to the primary domain (default: []) # branch — git branch to track (default: "main") # packageManager — "npm" or "pnpm" (default: "pnpm") +# installCommand — override install command, "" skips, null derives from packageManager (default: null) +# buildCommand — override build command, null derives from packageManager (default: null) +# extraBuildPackages — extra packages on PATH during build, e.g. zola (default: []) +# caddyConfig — override Caddy extraConfig for primary domain, null uses default (default: null) # entryPoint — Node.js entry point relative to repo root (default: "dist/server/entry.mjs") # environment — env vars for the running server (default: {}) # buildEnvironment — env vars for building (default: {}) @@ -26,24 +30,40 @@ # Forgejo repo -> settings -> Webhooks -> Add webhook # - preview webhook: http://localhost:4323/hooks/${name}-preview-rebuild -{ ... }: -let - websiteData = "/srv/website/data"; -in +{ pkgs, ... }: { services.site.website = { enable = true; - domain = "wynne.rs"; + domain = "ily.rs"; + redirectDomains = [ "wynne.rs" ]; repo = "https://git.ily.rs/lew/website"; branch = "master"; - port = 4322; - environment = { - ASTRO_DB_REMOTE_URL = "file:${websiteData}/guestbook.db"; - }; - buildEnvironment = { - ASTRO_DB_REMOTE_URL = "file:${websiteData}/guestbook.db"; - }; - readWritePaths = [ websiteData ]; + static = true; + buildOutputDir = "public"; + installCommand = ""; + buildCommand = "zola build"; + extraBuildPackages = [ pkgs.zola ]; + caddyConfig = '' + root * /srv/website/repo/public + encode zstd gzip + + @guestbook path /guestbook /guestbook/* + handle @guestbook { + reverse_proxy localhost:8123 + } + + @site_file file { + try_files {path} {path}/index.html + } + handle @site_file { + try_files {path} {path}/index.html + file_server + } + + handle { + reverse_proxy localhost:8080 + } + ''; }; services.site.penfield = { diff --git a/hosts/lab/templates/success.html b/hosts/lab/templates/success.html index 5b87cd6..4c23936 100644 --- a/hosts/lab/templates/success.html +++ b/hosts/lab/templates/success.html @@ -22,7 +22,7 @@