feat: modpack version checker dashboard + PHP proxy (v1.0)
WHAT WAS DONE: - Built browser dashboard (dashboard.html) showing installed vs latest version for all Pterodactyl game servers - Built PHP proxy (proxy.php + config.php) for Billing VPS deployment - Created isolated Nginx server block (version-proxy.conf) - Created full deployment guide (DEPLOYMENT-GUIDE.md) ARCHITECTURE: - PHP proxy at /var/www/version-proxy on Billing VPS (38.68.14.188) - Isolated from Paymenter/Laravel routing — separate directory + port - API keys (Pterodactyl ptlc_, CurseForge) live server-side only - FTB packs: fully automatic via .manifest.json + FTB public API - CurseForge packs: reads manifest.json, needs CF Project ID + API key - config.php blocked from direct web access via Nginx PENDING AT DEPLOYMENT: - Verify port 8080 is free (ss -tlnp) before enabling Nginx block - Fill real API keys into config.php on server - Enter CurseForge Project IDs for CF packs (saved in localStorage) COLLABORATION: - PHP proxy architecture designed by Gemini (consultation session 2026-03-29) - Dashboard HTML and detection logic by Chronicler #47 - Gemini identified Laravel routing conflict and content-type gotcha WHY: - Interim solution before full Blueprint extension (post-launch) - Hands-off modpack update monitoring for staff - Zero manual checking required after initial CF Project ID setup Signed-off-by: claude@firefrostgaming.com
This commit is contained in:
38
docs/tasks/modpack-version-checker/proxy/version-proxy.conf
Normal file
38
docs/tasks/modpack-version-checker/proxy/version-proxy.conf
Normal file
@@ -0,0 +1,38 @@
|
||||
# /etc/nginx/sites-available/version-proxy.conf
|
||||
# Isolated Nginx block for the modpack version checker PHP proxy
|
||||
# Hosted on Billing VPS (38.68.14.188) in its own directory
|
||||
# to avoid conflicts with Paymenter (Laravel) and Mailcow routing.
|
||||
#
|
||||
# BEFORE ENABLING: verify port 8080 is free with `ss -tlnp`
|
||||
# If 8080 is taken, change to 8081 or 8090 here AND in the HTML dashboard's PROXY_URL.
|
||||
|
||||
server {
|
||||
# Custom port — avoids Paymenter/Mailcow conflicts
|
||||
# Verify with: ss -tlnp | grep 8080
|
||||
listen 8080;
|
||||
|
||||
server_name _;
|
||||
|
||||
root /var/www/version-proxy;
|
||||
index proxy.php;
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ /proxy.php?$query_string;
|
||||
}
|
||||
|
||||
location ~ \.php$ {
|
||||
include snippets/fastcgi-php.conf;
|
||||
# PHP 8.3 socket (matches existing Billing VPS environment)
|
||||
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
|
||||
}
|
||||
|
||||
# Block access to config.php directly
|
||||
location = /config.php {
|
||||
deny all;
|
||||
return 404;
|
||||
}
|
||||
|
||||
location ~ /\.ht {
|
||||
deny all;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user