nixos-config/hosts/x86_64-linux/beleth/caddy.nix

125 lines
2.9 KiB
Nix
Raw Permalink Normal View History

{
config,
lib,
pkgs,
...
}: {
services.caddy = {
enable = true;
email = "xqtc@tutanota.com";
virtualHosts = {
"heroin.trade" = {
extraConfig = ''
root * /var/www/website/public/
handle_errors {
rewrite * /404.html
file_server
}
file_server
'';
};
# "matrix.heroin.trade" = {
# extraConfig = ''
# reverse_proxy /_matrix/* 127.0.0.1:${builtins.toString config.services.matrix-conduit.settings.global.port}
# '';
# };
"hydra.heroin.trade" = {
extraConfig = ''
reverse_proxy http://localhost:${builtins.toString config.services.hydra.port}
'';
};
"cheats-rs.heroin.trade" = {
extraConfig = ''
root * /var/www/cheats-rs/public/
handle_errors {
rewrite * /404.html
file_server
}
file_server
'';
};
"syncthing.heroin.trade" = {
extraConfig = ''
reverse_proxy http://localhost:8384 {
header_up Host {upstream_hostport}
}
'';
};
"demos.heroin.trade" = {
extraConfig = ''
root * /var/www/demos/
file_server browse
'';
};
"git.heroin.trade" = {
extraConfig = ''
reverse_proxy http://localhost:3002
'';
};
"jellyfin.heroin.trade" = {
extraConfig = ''
reverse_proxy http://127.0.0.1:8096
redir /metrics* /
'';
};
"calibre.heroin.trade" = {
extraConfig = ''
reverse_proxy http://localhost:3000
'';
};
"grafana.heroin.trade" = {
extraConfig = ''
reverse_proxy http://127.0.0.1:2342
'';
};
"uptime.heroin.trade" = {
extraConfig = ''
reverse_proxy http://127.0.0.1:3001
'';
};
"paperless.heroin.trade" = {
extraConfig = ''
reverse_proxy http://127.0.0.1:28981
'';
};
"radarr.heroin.trade" = {
extraConfig = ''
reverse_proxy http://127.0.0.1:7878
'';
};
"sonarr.heroin.trade" = {
extraConfig = ''
reverse_proxy http://127.0.0.1:8989
'';
};
"prowlarr.heroin.trade" = {
extraConfig = ''
reverse_proxy http://127.0.0.1:9696
'';
};
"qbit.heroin.trade" = {
extraConfig = ''
reverse_proxy http://127.0.0.1:8085
'';
};
"marie.software" = {
extraConfig = ''
root * /var/www/marie-website/
file_server
'';
};
"juvi.likes.graphics" = {
extraConfig = ''
root * /var/www/juvi-website/
file_server
'';
};
"servers" = {
extraConfig = ''
metrics
'';
};
};
};
}