mirror of
https://github.com/Noratrieb/vps.git
synced 2026-07-12 16:27:46 +02:00
51 lines
1,013 B
Nix
51 lines
1,013 B
Nix
{ pkgs, ... }:
|
|
let
|
|
caddy = pkgs.caddy.withPlugins {
|
|
plugins = [
|
|
"github.com/noratrieb-mirrors/certmagic-s3@v1.1.3"
|
|
"github.com/sagikazarmark/caddy-fs-s3@v0.10.0"
|
|
"github.com/caddy-dns/rfc2136@v1.0.0"
|
|
];
|
|
hash = "sha256-EGkboqppRr2xcZ+7ie+WrqdP8sHSoouX4STl4NajMYs=";
|
|
};
|
|
in
|
|
{
|
|
environment.systemPackages = [ pkgs.caddy ];
|
|
|
|
networking.firewall.interfaces.wg0.allowedTCPPorts = [ 9010 ]; # metrics
|
|
|
|
networking.firewall = {
|
|
allowedTCPPorts = [
|
|
80 # HTTP
|
|
443 # HTTPS
|
|
];
|
|
allowedUDPPorts = [
|
|
443 # HTTP/3 via QUIC
|
|
];
|
|
};
|
|
|
|
services.caddy = {
|
|
enable = true;
|
|
package = caddy;
|
|
logFormat = ''
|
|
output stdout
|
|
format json
|
|
'';
|
|
globalConfig = ''
|
|
email tls@noratrieb.dev
|
|
auto_https disable_redirects
|
|
|
|
servers {
|
|
metrics
|
|
}
|
|
'';
|
|
virtualHosts = {
|
|
":9010" = {
|
|
logFormat = "output discard";
|
|
extraConfig = ''
|
|
metrics /metrics
|
|
'';
|
|
};
|
|
};
|
|
};
|
|
}
|