2024-09-16 16:33:34 +02:00
|
|
|
{ theFlake, pkgs, ... }:
|
|
|
|
let
|
|
|
|
website = pkgs.stdenv.mkDerivation {
|
|
|
|
name = "jungle-web";
|
|
|
|
src = theFlake;
|
|
|
|
buildInputs = [ pkgs.hugo ];
|
|
|
|
buildPhase = ''
|
|
|
|
cd web
|
|
|
|
rm -rf public/
|
|
|
|
hugo
|
|
|
|
'';
|
|
|
|
installPhase = ''
|
|
|
|
cp -r public $out
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
in
|
|
|
|
{
|
|
|
|
services.nginx = {
|
|
|
|
enable = true;
|
|
|
|
virtualHosts."jungle.bsc.es" = {
|
|
|
|
root = "${website}";
|
|
|
|
listen = [
|
|
|
|
{
|
|
|
|
addr = "127.0.0.1";
|
|
|
|
port = 80;
|
|
|
|
}
|
|
|
|
];
|
|
|
|
extraConfig = ''
|
2024-09-20 15:24:38 +02:00
|
|
|
set_real_ip_from 127.0.0.1;
|
|
|
|
set_real_ip_from 84.88.52.107;
|
|
|
|
real_ip_recursive on;
|
|
|
|
real_ip_header X-Forwarded-For;
|
|
|
|
|
2024-09-16 16:33:34 +02:00
|
|
|
location /git {
|
|
|
|
rewrite ^/git$ / break;
|
|
|
|
rewrite ^/git/(.*) /$1 break;
|
|
|
|
proxy_pass http://127.0.0.1:3000;
|
|
|
|
proxy_redirect http:// $scheme://;
|
|
|
|
}
|
|
|
|
location /cache {
|
|
|
|
rewrite ^/cache(.*) /$1 break;
|
|
|
|
proxy_pass http://127.0.0.1:5000;
|
|
|
|
proxy_redirect http:// $scheme://;
|
|
|
|
}
|
|
|
|
location /lists {
|
|
|
|
proxy_pass http://127.0.0.1:8081;
|
|
|
|
proxy_redirect http:// $scheme://;
|
|
|
|
}
|
|
|
|
location /grafana {
|
|
|
|
proxy_pass http://127.0.0.1:2342;
|
|
|
|
proxy_redirect http:// $scheme://;
|
2024-10-17 13:35:45 +02:00
|
|
|
proxy_set_header Host $host;
|
2024-09-16 16:33:34 +02:00
|
|
|
# Websockets
|
|
|
|
proxy_http_version 1.1;
|
|
|
|
proxy_set_header Upgrade $http_upgrade;
|
|
|
|
proxy_set_header Connection "upgrade";
|
|
|
|
}
|
|
|
|
location ~ ^/~(.+?)(/.*)?$ {
|
|
|
|
alias /ceph/home/$1/public_html$2;
|
|
|
|
index index.html index.htm;
|
|
|
|
autoindex on;
|
|
|
|
absolute_redirect off;
|
|
|
|
}
|
2024-09-16 16:33:42 +02:00
|
|
|
location /p/ {
|
|
|
|
alias /ceph/p/;
|
|
|
|
}
|
2024-09-16 16:33:34 +02:00
|
|
|
'';
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|