127 lines
3.2 KiB
Nix
127 lines
3.2 KiB
Nix
{inputs, ...}:
|
|
let
|
|
striped-front = inputs.striped-front;
|
|
in {
|
|
|
|
networking.firewall.allowedTCPPorts = [ 80 443 8448 ];
|
|
|
|
services.nginx = {
|
|
enable = true;
|
|
recommendedProxySettings = true;
|
|
recommendedTlsSettings = true;
|
|
|
|
virtualHosts =
|
|
let
|
|
mkStarr = host: port: {
|
|
"${host}" = {
|
|
enableACME = true;
|
|
forceSSL = true;
|
|
|
|
locations."/" = {
|
|
proxyPass = "http://10.0.0.4:${port}";
|
|
proxyWebsockets = true;
|
|
extraConfig = ''
|
|
proxy_ssl_server_name on;
|
|
proxy_read_timeout 4800s;
|
|
'';
|
|
};
|
|
};
|
|
};
|
|
in
|
|
(
|
|
mkStarr "jellyfin.shobu.fr" "8096"
|
|
// mkStarr "radarr.shobu.fr" "7878"
|
|
// mkStarr "sonarr.shobu.fr" "8989"
|
|
// mkStarr "prowlarr.shobu.fr" "9696"
|
|
// mkStarr "bazarr.shobu.fr" "6767"
|
|
// mkStarr "jellyseerr.shobu.fr" "5055"
|
|
// mkStarr "fileshelter.shobu.fr" "5091"
|
|
// mkStarr "lidarr.shobu.fr" "8686"
|
|
// mkStarr "transmission.shobu.fr" "9091"
|
|
// mkStarr "zimablade-admin.shobu.fr" "61208"
|
|
// {
|
|
"shobu.fr" = {
|
|
enableACME = true;
|
|
forceSSL = true;
|
|
|
|
root = "${inputs.shoblog-front.packages.x86_64-linux.default}/dist";
|
|
};
|
|
"data.shobu.fr" = {
|
|
enableACME = true;
|
|
forceSSL = true;
|
|
|
|
root = "/mnt/shares/data";
|
|
};
|
|
"bddtrans.shobu.fr" = {
|
|
enableACME = true;
|
|
forceSSL = true;
|
|
|
|
locations."/" = {
|
|
proxyPass = "http://10.0.0.4:8001";
|
|
extraConfig = ''
|
|
proxy_ssl_server_name on;
|
|
'';
|
|
};
|
|
};
|
|
"bddtrans-api.shobu.fr" = {
|
|
enableACME = true;
|
|
forceSSL = true;
|
|
|
|
locations."/" = {
|
|
proxyPass = "http://10.0.0.4:8000";
|
|
proxyWebsockets = true;
|
|
extraConfig = ''
|
|
proxy_ssl_server_name on;
|
|
'';
|
|
};
|
|
};
|
|
"striped.shobu.fr" = {
|
|
enableACME = true;
|
|
forceSSL = true;
|
|
|
|
root = "${striped-front.packages.x86_64-linux.default}/dist";
|
|
};
|
|
"dashboard.shobu.fr" = {
|
|
enableACME = true;
|
|
forceSSL = true;
|
|
|
|
locations."/" = {
|
|
proxyPass = "http://10.0.0.4:8082";
|
|
};
|
|
};
|
|
"git.shobu.fr" = {
|
|
enableACME = true;
|
|
forceSSL = true;
|
|
|
|
locations."/" = {
|
|
proxyPass = "http://10.0.0.4:3000";
|
|
};
|
|
};
|
|
"files.shobu.fr" = {
|
|
enableACME = true;
|
|
forceSSL = true;
|
|
|
|
locations."/" = {
|
|
proxyPass = "http://10.0.0.4:8086";
|
|
};
|
|
};
|
|
# "matrix.shobu.fr" = {
|
|
# forceSSL = true;
|
|
# enableACME = true;
|
|
# locations."/".extraConfig = ''
|
|
# return 404;
|
|
# '';
|
|
# locations."/_matrix".proxyPass = "http://10.0.0.4:8008";
|
|
# locations."/_synapse/client".proxyPass = "http://10.0.0.4:8008";
|
|
# locations."/.well-known/matrix/server".proxyPass = "http://10.0.0.4:8008/.well-known/matrix/server";
|
|
# };
|
|
}
|
|
);
|
|
};
|
|
|
|
security.acme = {
|
|
acceptTerms = true;
|
|
defaults.email = "shobu_serhao@proton.me";
|
|
};
|
|
}
|