grimm-nix-server/modules/puffer.nix

51 lines
1.4 KiB
Nix
Raw Permalink Normal View History

{ lib, config, inputs, pkgs, ... }:
let
2024-05-08 20:45:41 +02:00
inherit (config.networking) domain;
puffer_port = 8080;
puffer_sftp_port = 5657;
2024-05-08 20:45:41 +02:00
puffer_host = "puffer.${domain}";
tlemap_host = "tlemap.${domain}";
2024-01-28 23:17:54 +01:00
tlemap_port = 8100;
in {
services.pufferpanel = {
enable = true;
environment = {
PUFFER_WEB_HOST = ":${builtins.toString puffer_port}";
PUFFER_DAEMON_SFTP_HOST = ":${builtins.toString puffer_sftp_port}";
};
2023-12-31 09:57:22 +01:00
extraPackages = with pkgs; [];
extraGroups = [ "docker" ];
};
services.nginx = {
enable = true;
virtualHosts."${puffer_host}" = {
serverName = puffer_host;
forceSSL = true;
2024-05-08 20:45:41 +02:00
useACMEHost = domain;
locations."/" = {
proxyPass = "http://127.0.0.1:${builtins.toString puffer_port}";
};
};
2024-01-28 23:17:54 +01:00
virtualHosts."${tlemap_host}" = {
serverName = tlemap_host;
forceSSL = true;
2024-05-08 20:45:41 +02:00
useACMEHost = domain;
2024-01-28 23:17:54 +01:00
locations."/" = {
proxyPass = "http://127.0.0.1:${builtins.toString tlemap_port}";
};
};
};
2024-05-08 20:45:41 +02:00
security.acme.certs."${domain}".extraDomainNames = [ puffer_host tlemap_host ];
2024-05-08 20:23:42 +02:00
networking.firewall.allowedTCPPorts = [ puffer_sftp_port 25565 25566 25567 25568 7270 ];
2023-12-31 09:57:22 +01:00
# virtualisation.podman.enable = true;
virtualisation.docker.enable = true;
2024-05-08 21:13:13 +02:00
environment.systemPackages = with pkgs; [
pufferpanel
(writeShellScriptBin "pufferpanel-nix" "pufferpanel --workDir /var/lib/pufferpanel $@")
];
}