Files
firefrost-operations-manual/docs/tasks/modpack-version-checker/proxy/version-proxy.conf
Claude (Chronicler #47) cfa838e86a 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
2026-03-29 14:10:47 +00:00

39 lines
1.0 KiB
Plaintext

# /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;
}
}