Files
spacestation/capytal/network.nix

50 lines
1.2 KiB
Nix
Raw Normal View History

2025-04-04 20:56:49 -03:00
{config, ...}: {
imports = [];
services.caddy.enable = true;
services.caddy.virtualHosts = let
forgejo-port = config.services.forgejo.settings.server.HTTP_PORT;
in {
":${toString (forgejo-port + 10)}" = {
extraConfig = ''
reverse_proxy http://localhost${config.services.anubis.instances."forgejo".bind} {
header_up X-Real-Ip {remote_host}
}
'';
};
};
2025-04-04 20:16:16 -03:00
services.anubis.enable = true;
services.anubis.instances = {
"forgejo" = let
forgejo-port = config.services.forgejo.settings.server.HTTP_PORT;
in {
bind = ":${toString (forgejo-port + 20)}";
metricsBind = ":${toString (forgejo-port + 30)}";
serveRobotsTxt = true;
target = "http://localhost:${toString forgejo-port}";
};
};
2025-04-04 20:56:49 -03:00
virtualisation.oci-containers.containers.cloudflare-tunnel = {
image = "cloudflare/cloudflared:latest";
autoStart = true;
extraOptions = [
"--network=host"
];
cmd = [
"tunnel"
"--no-autoupdate"
"run"
];
environmentFiles = [
config.sops.secrets."cloudflared/tunnel-env".path
];
};
networking.firewall.allowedTCPPorts = [
80
433
];
}