From b8db76b404eed9829615a2a98445de4f8bacf345 Mon Sep 17 00:00:00 2001 From: Bun Date: Thu, 10 Jul 2025 01:47:01 -0400 Subject: [PATCH] make php work, i hate it here --- hosts/midas/services/default.nix | 1 + hosts/midas/services/nginx/nixfox/default.nix | 29 ++++++++++++++++-- modules/system/secrets/nixfox-pgp-secret.asc | Bin 0 -> 6857 bytes .../minecraft/servers/uberbeta/default.nix | 14 ++++----- .../minecraft/servers/velocity/default.nix | 18 +++-------- 5 files changed, 38 insertions(+), 24 deletions(-) create mode 100644 modules/system/secrets/nixfox-pgp-secret.asc diff --git a/hosts/midas/services/default.nix b/hosts/midas/services/default.nix index 638fa3fc..a76e137f 100644 --- a/hosts/midas/services/default.nix +++ b/hosts/midas/services/default.nix @@ -24,6 +24,7 @@ servers = { johnside.enable = true; skyblock.enable = true; + uberbeta.enable = true; velocity.enable = true; }; }; diff --git a/hosts/midas/services/nginx/nixfox/default.nix b/hosts/midas/services/nginx/nixfox/default.nix index f1c43edd..cec71cd6 100644 --- a/hosts/midas/services/nginx/nixfox/default.nix +++ b/hosts/midas/services/nginx/nixfox/default.nix @@ -1,7 +1,8 @@ -{ config, lib, ... }: +{ config, lib, pkgs, ... }: { - services.nginx.virtualHosts = { - "nixfox.ca" = { + services = { + # The main nginx domain + nginx.virtualHosts."nixfox.ca" = { enableACME = true; addSSL = true; @@ -12,6 +13,11 @@ error_page 404 /404.html; ''; + "~ \\.php$".extraConfig = '' + fastcgi_index index.php; + fastcgi_pass unix:${config.services.phpfpm.pools.nginx.socket}; + ''; + "/.well-known/matrix/client".extraConfig = '' default_type application/json; return 200 '{ @@ -26,5 +32,22 @@ ''; }; }; + + # Enable PHP for some fancy stuff + phpfpm.pools.nginx = { + user = "nobody"; + settings = { + "pm" = "dynamic"; + "pm.max_children" = 75; + "pm.start_servers" = 10; + "pm.min_spare_servers" = 5; + "pm.max_spare_servers" = 20; + "pm.max_requests" = 500; + "listen.owner" = config.services.nginx.user; + "listen.group" = config.services.nginx.group; + "listen.mode" = "0660"; + "catch_workers_output" = 1; + }; + }; }; } diff --git a/modules/system/secrets/nixfox-pgp-secret.asc b/modules/system/secrets/nixfox-pgp-secret.asc new file mode 100644 index 0000000000000000000000000000000000000000..bf4107fde926a294e94c2c6c1cecde7f93eface7 GIT binary patch literal 6857 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 ImMO{W0qvk#Hvj+t literal 0 HcmV?d00001 diff --git a/modules/system/services/server/minecraft/servers/uberbeta/default.nix b/modules/system/services/server/minecraft/servers/uberbeta/default.nix index ef58b477..ef2a6334 100644 --- a/modules/system/services/server/minecraft/servers/uberbeta/default.nix +++ b/modules/system/services/server/minecraft/servers/uberbeta/default.nix @@ -1,17 +1,15 @@ { config, lib, pkgs, ... }: let - uberBukkitZip = pkgs.fetchzip { - url = "https://github.com/Moresteck/Project-Poseidon-Uberbukkit/releases/download/2.0.0/uberbukkit-2.0.0-java17.zip"; - sha256 = "m4hgcqXJ43SnBGn6qNBGeEcXFv5Q8f/VFYJmx3aJ9PE="; - stripRoot = false; + uberBukkit = pkgs.fetchurl { + url = "https://github.com/Moresteck/uberbukkit/releases/download/2.0.2-241217-1442-3a5552b/uberbukkit-2.0.2.jar"; + sha256 = "ZttLDpBgeR2SM90kdegwqem1TalBVTndzsxziusCzlA="; }; - uberBukkit = pkgs.vanillaServers.vanilla.overrideAttrs (oldAttrs: { - src = "${uberBukkitZip}/uberbukkit-2.0.0.jar"; - }); in { services = { minecraft-servers.servers.uberbeta = { - package = uberBukkit; + package = pkgs.vanillaServers.vanilla.overrideAttrs (oldAttrs: { + src = uberBukkit; + }); jvmOpts = "-Xmx512M"; serverProperties = config.services.minecraft-servers.common.serverProperties // { difficulty = 3; diff --git a/modules/system/services/server/minecraft/servers/velocity/default.nix b/modules/system/services/server/minecraft/servers/velocity/default.nix index 099eb183..d0cefebc 100644 --- a/modules/system/services/server/minecraft/servers/velocity/default.nix +++ b/modules/system/services/server/minecraft/servers/velocity/default.nix @@ -4,25 +4,17 @@ package = pkgs.velocityServers.velocity; jvmOpts = "-Xmx512M"; symlinks = { - "plugins/Geyser.jar" = builtins.fetchurl { - url = "https://download.geysermc.org/v2/projects/geyser/versions/2.6.1/builds/768/downloads/velocity"; - sha256 = "1s8d2qzbnrkbng608a7yq915fp28w6zzvdp8wncf24fm8x0lqxhy"; - }; - "plugins/Floodgate.jar" = builtins.fetchurl { - url = "https://download.geysermc.org/v2/projects/floodgate/versions/2.2.4/builds/116/downloads/velocity"; - sha256 = "0sinl47pdyc3zyi3jprjqh8ka754rz2r6gmyd27nq39qf31mbbvy"; - }; "plugins/SkinsRestorer.jar" = builtins.fetchurl { - url = "https://github.com/SkinsRestorer/SkinsRestorer/releases/download/15.4.2/SkinsRestorer.jar"; + url = "https://github.com/SkinsRestorer/SkinsRestorer/releases/download/15.7.6/SkinsRestorer.jar"; sha256 = "14nl9mi958bfqwqz9182cxj7m6l15kalq3wjmjqzy50s52si35wf"; }; "plugins/ViaVersion.jar" = builtins.fetchurl { - url = "https://github.com/ViaVersion/ViaVersion/releases/download/5.0.3/ViaVersion-5.0.3.jar"; - sha256 = "02gf91ysialgvbl0w8awa0dsi1yb33ac7clmz0wika1xigk9z10r"; + url = "https://github.com/ViaVersion/ViaVersion/releases/download/5.4.1/ViaVersion-5.4.1.jar"; + sha256 = "1bbh5g872nds9vs61s9zzr4lfx5rivqvyyaf5riqkkbxxq4fdshv"; }; "plugins/ViaBackwards.jar" = builtins.fetchurl { - url = "https://github.com/ViaVersion/ViaBackwards/releases/download/5.0.3/ViaBackwards-5.0.3.jar"; - sha256 = "1wqk68pjrzl1zhajb9lxa1s6wzj85rb0c2riycv9yysr5bcxssqi"; + url = "https://github.com/ViaVersion/ViaBackwards/releases/download/5.4.1/ViaBackwards-5.4.1.jar"; + sha256 = "0dammfw0m806hf555wp1h4m2c36kfpb7q2f00lan5csxiswl6r13"; }; "plugins/Voicechat.jar" = builtins.fetchurl { url = "https://cdn.modrinth.com/data/9eGKb6K1/versions/svvcJhgC/voicechat-velocity-2.5.20.jar";