Egg catalog
This collection ships one egg covering 54 languages. Every field below is read from the actual egg-programming-multi.json at build time. The org-wide browsable catalog lives at nest.potenfyr.in.
Prog-Language Eggs
Prog-Language Eggs - one egg for 50+ programming languages with package managers, auto-detection, memory tuning, and Dev Watch mode.
ghcr.io/potenfyr-studios/prog-language-eggs:latestbash /usr/local/bin/run.sh
# stop: ^CLanguages covered
The single image covers 54 languages, the full matrix lists runners, package managers and auto-detect triggers for each.
Install pass
On server creation the egg runs its install script inside ghcr.io/pterodactyl/installers:alpine (entrypoint ash): base tooling, then a git sync that trims stray whitespace from startup variables, re-points origin at the current repo/branch, and fetches over a non-empty workspace without wiping it.
Key variables
The ten variables most servers touch, the complete set of 41 lives in the setup & startup reference.
| Variable | Default | Editable | Description |
|---|---|---|---|
LANGUAGE | auto | yes | Target language or 'auto' for intelligent file auto-detection. After the first boot the detected value is pinned; set to 'auto-detect' to clear the pin and re-run detection. |
RUNTIME_VERSION | latest | yes | Version of the primary runtime: 22 | 22.1 | 22.1.4 or keywords latest, stable, lts, alpha, beta, rc, preview, nightly. Validated & resolved from live upstream feeds. 'latest' resolves once, then pins to the exact version; set to 'auto-detect' to re-resolve. |
EXTRA_RUNTIMES | auto | yes | Comma-separated extra toolchains to enable (e.g. 'python,java,go' or 'none'). |
GIT_REPO | - | yes | Git repository URL to clone and sync on startup. |
BUILD_COMMAND | - | yes | Optional build or compilation command (e.g. 'npm run build', 'cargo build --release'). |
CUSTOM_COMMAND | - | yes | Custom command to override the default runner entirely. |
SUPERVISOR | auto | yes | Multi-process mode: auto (Procfile when present + language auto), procfile (force), single (never). Powers multi-layer apps in one container. |
HEALTH_CHECK_PATH | - | yes | HTTP path probed after boot (e.g. /healthz). Empty = disabled. Probe targets http://127.0.0.1:$SERVER_PORT<path>. |
MEMORY_AUTO_TUNE | 1 | yes | Auto-tune GC & memory limits to prevent container OOM (1 = Enabled, 0 = Disabled). |
AUTO_UPDATE_EGG | 1 | yes | Check EGG_UPDATE_URL on startup and self-update the launcher when the upstream egg changed (1 = enabled, 0 = disabled). |
File denylist
The panel file manager refuses to serve these paths, protecting the launcher and its self-update machinery from tampering:
| Pattern |
|---|
| ^\.potenfyr($|/) |
| ^/?run\.sh$ |
| ^/?entrypoint\.sh$ |
| ^/?install\.sh$ |
| ^/?install-runtime\.sh$ |
| ^/?resolve-version\.sh$ |