{ config, pkgs, ...}: let caddyDir = "/var/lib/caddy"; in { services.grafana = { enable = true; domain = "sup.atlanticaweb.fr"; port = 2342; addr = "127.0.0.1"; }; services.caddy = { enable = true; email = "lucazeau.alexandre@gmail.com"; extraConfig = '' { storage file_system { root ${caddyDir} } } https://sup.atlanticaweb.fr:2342 { reverse_proxy http://127.0.0.1:${toString config.services.grafana.port} } ''; }; services.prometheus = { enable = true; port = 9001; exporters = { node = { enable = true; enabledCollectors = [ "systemd" ]; port = 9002; }; }; scrapeConfigs = [ { job_name = "services"; static_configs = [{ targets = [ "127.0.0.1:${toString config.services.prometheus.exporters.node.port}" ]; }]; } ]; }; users.users.caddy = { group = "caddy"; uid = config.ids.uids.caddy; home = caddyDir; createHome = true; extraGroups = [ "users" ]; }; users.groups.caddy.gid = config.ids.uids.caddy; }