caddy.nix 630 B

123456789101112131415161718192021
  1. { config, pkgs, ... }:
  2. {
  3. services.caddy = {
  4. enable = true;
  5. package = pkgs.caddy.withPlugins {
  6. plugins = [ "github.com/caddy-dns/[email protected]" ];
  7. hash = "sha256-p9AIi6MSWm0umUB83HPQoU8SyPkX5pMx989zAi8d/74=";
  8. };
  9. environmentFile = config.age.secrets."odin/services/caddy".path;
  10. # TODO: set to null for production
  11. acmeCA = "https://acme-staging-v02.api.letsencrypt.org/directory";
  12. globalConfig = ''
  13. acme_dns cloudflare {env.CF_API_TOKEN}
  14. '';
  15. virtualHosts.welcome.hostName = "{$DOMAIN}";
  16. virtualHosts.welcome.extraConfig = ''
  17. respond "Hello World"
  18. '';
  19. };
  20. }