diff --git a/modules/servers/thor/default.nix b/modules/servers/thor/default.nix index abd108d..55a635f 100644 --- a/modules/servers/thor/default.nix +++ b/modules/servers/thor/default.nix @@ -3,5 +3,6 @@ ./changedetection-io.nix ./forgejo.nix ./secrets.nix + ./plausible.nix ]; } diff --git a/modules/servers/thor/plausible.nix b/modules/servers/thor/plausible.nix new file mode 100644 index 0000000..616a7ab --- /dev/null +++ b/modules/servers/thor/plausible.nix @@ -0,0 +1,26 @@ +{config, ...}: { + services.plausible = { + enable = true; + server = { + baseUrl = "https://plausible.cronyakatsuki.xyz"; + secretKeybaseFile = "${config.age.secrets.plausible.path}"; + }; + }; + + services.traefik.dynamicConfigOptions.http = { + services.plausible.loadBalancer.servers = [ + { + url = "http://localhost:8000"; + } + ]; + + routers.plausible = { + rule = "Host(`plausible.cronyakatsuki.xyz`)"; + tls = { + certResolver = "porkbun"; + }; + service = "plausible"; + entrypoints = "websecure"; + }; + }; +} diff --git a/modules/servers/thor/secrets.nix b/modules/servers/thor/secrets.nix index 60e4651..9db06d3 100644 --- a/modules/servers/thor/secrets.nix +++ b/modules/servers/thor/secrets.nix @@ -4,6 +4,9 @@ forgejo-db = { file = ../../../secrets/forgejo-db.age; }; + plausible = { + file = ../../../secrets/plausible.age; + }; }; }; } diff --git a/secrets/plausible.age b/secrets/plausible.age new file mode 100644 index 0000000..eee1c05 Binary files /dev/null and b/secrets/plausible.age differ diff --git a/secrets/secrets.nix b/secrets/secrets.nix index 4b30ac4..51f4a65 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -20,4 +20,5 @@ in { "rclone.age".publicKeys = systems ++ users; "navidrome.age".publicKeys = systems ++ users; "forgejo-db.age".publicKeys = systems ++ users; + "plausible.age".publicKeys = systems ++ users; }