Commit 4cbdcd4
Changed files (2)
modules
hosts
hyacine
services
services
modules/hosts/hyacine/services/services.nix
@@ -6,6 +6,10 @@
domain = "artalk.hpcesia.com";
};
+ services.goatcounter = {
+ domains = ["goatcounter.hpcesia.com"];
+ };
+
services.headscale = {
domain = "gate.trin.one";
port = 3465;
@@ -32,6 +36,7 @@
den.aspects.services.webserver
den.aspects.services.artalk
+ den.aspects.services.goatcounter
den.aspects.services.headscale
den.aspects.services.vaultwarden
den.aspects.services.wakapi
modules/services/goatcounter.nix
@@ -0,0 +1,44 @@
+{lib, ...}: {
+ den.aspects.services.goatcounter = {
+ settings = {
+ domains = lib.mkOption {
+ type = lib.listOf lib.types.str;
+ default = [];
+ };
+ port = lib.mkOption {
+ type = lib.types.port;
+ default = 4627;
+ };
+ };
+
+ persist = {
+ directories = [
+ {
+ directory = "/var/lib/private/goatcounter";
+ user = "nobody";
+ group = "nogroup";
+ mode = "0755";
+ }
+ ];
+ };
+
+ reverseProxy = {host, ...}: let
+ cfg = host.settings.services.goatcounter;
+ in
+ lib.genAttrs cfg.domains {inherit (cfg) port;};
+
+ nixos = {host, ...}: let
+ cfg = host.settings.services.goatcounter;
+ in {
+ services.goatcounter = {
+ enable = true;
+ address = "127.0.0.1";
+ port = cfg.port;
+ proxy = true;
+ extraArgs = [
+ "-automigrate"
+ ];
+ };
+ };
+ };
+}