59 lines
2.0 KiB
Nix
59 lines
2.0 KiB
Nix
{ config, ... }:
|
|
let
|
|
inherit (import ./lib.nix config)
|
|
terakoda
|
|
blazestar
|
|
hostRule
|
|
;
|
|
in
|
|
{
|
|
imports = [
|
|
../../../features/web-containers.nix
|
|
];
|
|
|
|
virtualisation.web-containers = {
|
|
enable = true;
|
|
containers = {
|
|
goatcounter-terakoda = {
|
|
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.entrypoints" = "websecure";
|
|
"traefik.http.routers.www-terakoda-com-goatcounter.service" = "goatcounter-terakoda-com";
|
|
};
|
|
};
|
|
|
|
goatcounter-blazestar = {
|
|
image = "arp242/goatcounter";
|
|
hostname = "goatcounter";
|
|
domain = blazestar;
|
|
public = true;
|
|
port = 8080;
|
|
volumes = [
|
|
"goatcounter-data-blazestar:/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.entrypoints" = "websecure";
|
|
"traefik.http.routers.www-blazestar-net-goatcounter.service" = "goatcounter-blazestar-net@docker";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|