aboutsummaryrefslogtreecommitdiff
path: root/modules/services/nixos/mkCaddyCfg.nix
blob: 02b9a0ab6e8e228d85a22c481fb3d3621b88663e (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
cfg: let
  caddyConfig =
    if cfg ? reverseProxy && cfg.reverseProxy == true
    then ''reverse_proxy ${cfg.listenAddr}:${toString cfg.port}''
    else cfg.manualCaddyConfig;
in {
  networking.extraHosts =
    if cfg.privateUrl != null
    then "127.0.0.1 ${cfg.privateUrl}"
    else "";

  services.caddy.virtualHosts =
    (
      if cfg.publicUrl != null
      then {
        ${cfg.publicUrl}.extraConfig = caddyConfig;
      }
      else {}
    )
    // (
      if cfg.privateUrl != null
      then {
        "${cfg.privateUrl}".extraConfig = ''
          tls internal
          ${caddyConfig}
        '';
      }
      else {}
    );
}