From 6cc0063dec2a0b73c14d2912360c918bba14e9f9 Mon Sep 17 00:00:00 2001 From: Christine Elisabeth Koppel Date: Fri, 20 Mar 2026 09:02:36 +0100 Subject: [PATCH] Add Pelican panel configuration to Traefik --- nix-system-configs/modules/system/traefik.nix | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/nix-system-configs/modules/system/traefik.nix b/nix-system-configs/modules/system/traefik.nix index 55d65f4..21ddc72 100644 --- a/nix-system-configs/modules/system/traefik.nix +++ b/nix-system-configs/modules/system/traefik.nix @@ -7,7 +7,7 @@ choose = paths: builtins.head (builtins.filter (p: builtins.pathExists p) paths); # Domain and Cloudflare DDNS records configured here. Update this list to add/remove records. domain = "prg-radio.org"; - records = ["git" "grafana" "anubis" "wavelog" "partdb" "mail" "mailadmin" "@" "test" "minecraft"]; + records = ["git" "grafana" "anubis" "wavelog" "pelican" "partdb" "mail" "mailadmin" "@" "test" "minecraft"]; recordsStr = lib.concatStringsSep " " records; zoneId = "9fde8d0fa53502f2d1b7e0b1d3765d49"; envFile = "/home/traefikprg/cloudflare/cloudflare.env"; @@ -358,6 +358,14 @@ in { middlewares = ["anubisForwardAuth"]; }; + # Pelican panel - exposes the Pelican panel UI + pelican = { + rule = "Host(`pelican.prg-radio.org`)"; + service = "pelican"; + entryPoints = ["websecure"]; + tls = { certresolver = "acme"; }; + }; + # Matrix HTTP router for client requests (Element etc.) matrix = { rule = "Host(`lgbtq.prg-radio.org`)"; @@ -447,6 +455,14 @@ in { ]; }; + # Pelican panel backend - the wavelog host exposes the container on host port 8070 + pelican.loadBalancer = { + servers = [ + {url = "http://10.1.1.249:8070";} + ]; + passHostHeader = true; + }; + # Mail JMAP HTTP backend mail-jmap.loadBalancer = { servers = [{url = "http://10.1.1.15:8080";}];