hosts/suwako: add pufferpanel (minecraft paper)

Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
This commit is contained in:
2025-06-29 20:49:40 +05:30
parent 1651bb9356
commit 5db9d23792
3 changed files with 52 additions and 4 deletions

View File

@@ -12,7 +12,7 @@
]; ];
fileSystems."/" = { fileSystems."/" = {
device = "/dev/disk/by-uuid/e87c20b9-f451-45bf-b863-385ac9c290cf "; device = "/dev/disk/by-label/cloudimg-rootfs";
fsType = "ext4"; fsType = "ext4";
}; };

View File

@@ -1,8 +1,5 @@
{ {
lib,
config,
conf, conf,
pkgs,
... ...
}: }:
{ {
@@ -16,6 +13,8 @@
22 22
443 443
80 80
8080
25565
]; ];
}; };
}; };

View File

@@ -9,6 +9,10 @@ let
domain = conf.network.addresses.domain.natto; domain = conf.network.addresses.domain.natto;
in in
{ {
virtualisation.docker = {
enable = true;
};
services = { services = {
cron.enable = true; cron.enable = true;
@@ -17,5 +21,50 @@ in
settings.PermitRootLogin = "yes"; settings.PermitRootLogin = "yes";
ports = [ 22 ]; ports = [ 22 ];
}; };
nginx = {
enable = true;
virtualHosts = with conf.network.addresses.wireguard.ips; {
"moj.${domain}" = {
enableACME = true;
forceSSL = true;
locations."/" = {
proxyPass = "https://${suwako}:25565";
};
};
"puffer.${domain}" = {
enableACME = true;
forceSSL = true;
locations."/" = {
proxyPass = "http://${suwako}:8080";
};
extraConfig = ''
proxy_set_header X-Real-IP $remote_addr;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Connection "Upgrade";
proxy_set_header Upgrade $http_upgrade;
proxy_set_header X-Nginx-Proxy true;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 100M;
'';
};
};
};
pufferpanel = {
enable = true;
extraGroups = [ "docker" ];
package = pkgs.buildFHSEnv {
name = "pufferpanel-fhs";
runScript = lib.getExe pkgs.pufferpanel;
targetPkgs =
pkgs': with pkgs'; [
icu
openssl
zlib
];
};
};
}; };
} }