{ config, ... }: let inherit (import ./lib.nix config) mkContainer terakoda blazestar hostRule ; in { virtualisation.oci-containers.containers.goatcounter-terakoda = mkContainer { image = "arp242/goatcounter"; hostName = "goatcounter"; domain = terakoda; public = true; port = 8080; volumes = [ "goatcounter-data:/home/goatcounter/goatcounter-data" ]; extraLabels = { # "traefik.http.middlewares.strip-analytics.stripprefix.prefixes" = "/analytics"; # "traefik.http.routers.www-terakoda-com-goatcounter.middlewares" = "strip-analytics"; # Host the script on www.terakoda.com so that it is easy to fetch "traefik.http.routers.www-terakoda-com-goatcounter.rule" = "PathPrefix(`/count`) && ${hostRule "www" terakoda}"; "traefik.http.routers.www-terakoda-com-goatcounter.service" = "goatcounter"; }; }; virtualisation.oci-containers.containers.goatcounter-blazestar = mkContainer { image = "arp242/goatcounter"; hostName = "goatcounter"; domain = blazestar; public = true; port = 8080; volumes = [ "goatcounter-data:/home/goatcounter/goatcounter-data" ]; extraLabels = { # "traefik.http.middlewares.strip-analytics.stripprefix.prefixes" = "/analytics"; # "traefik.http.routers.www-blazestar-net-goatcounter.middlewares" = "strip-analytics"; # Host the script on www.blazestar.net so that it is easy to fetch "traefik.http.routers.www-blazestar-net-goatcounter.rule" = "PathPrefix(`/count`) && ${hostRule "www" blazestar}"; "traefik.http.routers.www-blazestar-net-goatcounter.service" = "goatcounter"; }; }; }