{
  services.caddy = {
    virtualHosts = {
      "datarift.nl" = {
        extraConfig = ''
          @webfinger-erwin {
            path /.well-known/webfinger
            query resource=acct:erwin@datarift.nl
          }
          respond @webfinger-erwin 200 {
            body `{"subject":"acct:erwin@datarift.nl","links":[{"rel":"http://openid.net/specs/connect/1.0/issuer","href":"https://id.datarift.nl/realms/datarift"}]}`
            close
          }
        '';
      };
      "git.datarift.nl" = {
        extraConfig = ''
          reverse_proxy gitea.barn-beaver.ts.net:3000
        '';
      };

      "home.datarift.nl" = {
        extraConfig = ''
          reverse_proxy homeassistant.barn-beaver.ts.net:8123
        '';
      };

      "factorio.datarift.nl" = {
        extraConfig = ''
          root * /var/www/factorio.datarift.nl
          encode zstd gzip

          header /index.html Cache-Control nocache
          header /d-*/* Cache-Control "public, immutable, max-age=31536000"
          header *.js Cache-Control "public, immutable, max-age=31536000"
          header /thumbnail.png Cache-Control "public, max-age=604800"

          file_server
        '';
      };

      "boskma.frl" = {
        extraConfig = ''
          respond 404 {
            body "Nothing to see here."
            close
          }
        '';
      };
    };
  };
}