aboutsummaryrefslogtreecommitdiff
path: root/modules/services/nixos/mkCaddyCfg.nix
blob: f13e40aaf273a6ef8156de183b8178304ee6c4dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
cfg: {
  networking.extraHosts =
    if cfg.privateURL
    then ''
      127.0.0.1 ${cfg.privateURL}
    ''
    else "";

  services.caddy.virtualHosts =
    (
      if cfg.publicURL
      then {
        ${cfg.publicURL}.extraConfig = ''
          ${
            if cfg.caddy.bind_tailscale
            then "bind tailscale/${cfg.service_name}"
            else ""
          }
          reverse_proxy ${cfg.listenAddr}:${toString cfg.port}
        '';
      }
      else {}
    )
    // (
      if cfg.caddy.privateURL
      then {
        "${cfg.privateURL}.collinux".extraConfig = ''
          tls internal
          reverse_proxy ${cfg.listenAddr}:${toString cfg.port}
        '';
      }
      else {}
    );
}