Make caddy config more conditional

This commit is contained in:
TEC 2022-08-05 20:29:25 +08:00
parent 6d88a3f83e
commit 7e7ae9cf21
Signed by: tec
SSH Key Fingerprint: SHA256:eobz41Mnm0/iYWBvWThftS0ElEs1ftBr6jamutnXc/A
2 changed files with 19 additions and 12 deletions

View File

@ -26,8 +26,8 @@
admin
hardware-hetzner
agenix.nixosModule
caddy
gitea
caddy
];
};

View File

@ -1,20 +1,27 @@
{ ... }:
{ config, lib, ... }:
with lib;
{
networking.firewall.allowedTCPPorts = [ 22 80 443 ];
# If I end up wanting to add plugins, see:
# https://mdleom.com/blog/2021/12/27/caddy-plugins-nixos/
services.caddy = {
enable = true;
virtualHosts."tecosaur.net".extraConfig = ''
services.caddy = mkMerge [
{
enable = true;
virtualHosts."tecosaur.net".extraConfig = ''
respond "Hello, world!"
'';
virtualHosts."git.tecosaur.net".extraConfig = ''
reverse_proxy localhost:3000
'';
virtualHosts."ci.tecosaur.net".extraConfig = ''
reverse_proxy localhost:3030
'';
};
}
(mkIf config.services.gitea.enable {
virtualHosts."git.tecosaur.net".extraConfig =
"reverse_proxy localhost:${toString config.services.gitea.httpPort}";
})
(mkIf (builtins.hasAttr "woodpecker-server" config.services &&
config.services.woodpecker-server.enable) {
virtualHosts."ci.tecosaur.net".extraConfig =
"reverse_proxy localhost:${toString config.services.woodpecker-server.httpPort}";
})
];
}