all repos — nixfiles @ fc06ee8a9be5144abdde508cd57eeac34ea9b7d2

System and user configuration, managed by nix and home-manager

system/settings/services/caddy.nix (view raw)

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
{
  config,
  lib,
  ...
}:
{
  services.tailscale.permitCertUid = config.services.caddy.user;

  security.acme.defaults.reloadServices = [ "caddy" ];
  users.groups.acme.members = [ "caddy" ];

  services.caddy = {
    enable = true;
    openFirewall = true;
    group = "caddy";
    virtualHosts = {
      "http://" = {
        # Needed for HTTP->HTTPS servers
      };
      "${config.networking.fqdn}" = {
        serverAliases = [ "https://" ];
        extraConfig = lib.mkDefault ''
          respond * 204
        '';
      };
    };
  };
  systemd.services.caddy.serviceConfig = {
    UMask = "007";
  };
}