web: refactor nginx config

This commit is contained in:
nyanloutre 2020-03-02 23:20:17 +01:00
parent 5d755bf63b
commit f86ef0518d
2 changed files with 53 additions and 31 deletions

View file

@ -2,6 +2,17 @@
with lib;
#### VHost table ####
# 10000 riot.nyanlout.re
# 10001 factorio.nyanlout.re
# 10002 minecraft.nyanlout.re
# 10003 nyanlout.re
# 10004 musique-meyenheim.fr
# 10005 social.nyanlout.re
# 10006 pgmanage.nyanlout.re
# 10007 maxspiegel.fr
####
let
domaine = "nyanlout.re";
@ -32,16 +43,16 @@ in
"syncthing.${domaine}" = { ip = "127.0.0.1"; port = 8384; auth = true; };
"jackett.${domaine}" = { ip = "127.0.0.1"; port = 9117; auth = true; };
"searx.${domaine}" = { ip = "127.0.0.1"; port = 8888; auth = false; };
"riot.${domaine}" = { ip = "127.0.0.1"; port = nginxGetFirstLocalPort "riot"; auth = false; };
"riot.${domaine}" = { ip = "127.0.0.1"; port = nginxGetFirstLocalPort "riot.nyanlout.re"; auth = false; };
"matrix.${domaine}" = { ip = "127.0.0.1"; port = 8008; auth = false; };
"pgmanage.${domaine}" = { ip = "127.0.0.1"; port = config.services.pgmanage.port; auth = true; };
"gitea.${domaine}" = { ip = "127.0.0.1"; port = config.services.gitea.httpPort; auth = false; };
"ci.${domaine}" = { ip = "127.0.0.1"; port = 52350; auth = false; };
"factorio.${domaine}" = { ip = "127.0.0.1"; port = nginxGetFirstLocalPort "factorio"; auth = false; };
"factorio.${domaine}" = { ip = "127.0.0.1"; port = nginxGetFirstLocalPort "factorio.nyanlout.re"; auth = false; };
"airsonic.${domaine}" = { ip = "127.0.0.1"; port = 4040; auth = false; };
"${domaine}" = { ip = "127.0.0.1"; port = nginxGetFirstLocalPort "wkd"; auth = false; };
"${domaine}" = { ip = "127.0.0.1"; port = nginxGetFirstLocalPort "nyanlout.re"; auth = false; };
"musique-meyenheim.fr" = { ip = "127.0.0.1"; port = nginxGetFirstLocalPort "musique-meyenheim.fr"; auth = false; };
"minecraft.${domaine}" = { ip = "127.0.0.1"; port = nginxGetFirstLocalPort "minecraft-overviewer"; auth = false; };
"minecraft.${domaine}" = { ip = "127.0.0.1"; port = nginxGetFirstLocalPort "minecraft.nyanlout.re"; auth = false; };
};
};
@ -49,37 +60,43 @@ in
nginx = {
enable = true;
recommendedProxySettings = true;
appendHttpConfig = ''
set_real_ip_from 127.0.0.1;
real_ip_header X-Forwarded-For;
'';
virtualHosts = {
"riot" = {
listen = [ { addr = "127.0.0.1"; port = 52345; } ];
"riot.nyanlout.re" = {
listen = [ { addr = "127.0.0.1"; port = 10000; } ];
locations = { "/" = { root = pkgs.riot-web; }; };
};
"factorio" = {
listen = [ { addr = "127.0.0.1"; port = 52351; } ];
"factorio.nyanlout.re" = {
listen = [ { addr = "127.0.0.1"; port = 10001; } ];
locations = { "/" = { root = "/var/www/factorio"; }; };
};
"minecraft-overviewer" = {
listen = [ { addr = "127.0.0.1"; port = 52354; } ];
"minecraft.nyanlout.re" = {
listen = [ { addr = "127.0.0.1"; port = 10002; } ];
locations = { "/" = { root = "/var/www/minecraft-overviewer"; }; };
};
"wkd" = {
listen = [ { addr = "127.0.0.1"; port = 52352; } ];
locations = { "/.well-known/openpgpkey/" = {
alias = "/var/lib/gnupg/wks/nyanlout.re";
extraConfig = ''
add_header Access-Control-Allow-Origin * always;
'';
}; };
"nyanlout.re" = {
listen = [ { addr = "127.0.0.1"; port = 10003; } ];
locations = {
"/" = {
alias = "/var/www/site-perso/";
};
"/.well-known/openpgpkey/" = {
alias = "/var/lib/gnupg/wks/nyanlout.re";
extraConfig = ''
add_header Access-Control-Allow-Origin * always;
'';
};
};
};
"musique-meyenheim.fr" = {
listen = [ { addr = "127.0.0.1"; port = 52353; } ];
listen = [ { addr = "127.0.0.1"; port = 10004; } ];
locations = {
"/" = {
proxyPass = "http://unix:/run/site-musique.sock";
extraConfig = ''
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
'';
};
"/static/" = {
alias = "/var/www/site-musique/staticfiles/";
@ -96,7 +113,7 @@ in
pgmanage = {
enable = true;
port = 52347;
port = 10006;
connections = {
localhost = "hostaddr=127.0.0.1 port=5432 dbname=postgres";
};
@ -126,7 +143,7 @@ in
site-max = {
enable = true;
port = 52348;
port = 10007;
domaine = "maxspiegel.fr";
};
};