StruxaEggs Explorer

node.js generic

Generic

A generic node.js egg This will clone a git repo. It defaults to master if no branch is specified. Installs the node_modules on install. If you set user_upload then I assume you know what you are doing.

Author: parker@parkervcp.comSource: pterodactyl/generic-eggsUpdated: 5/24/2026

Startup Command

if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == "1" ]]; then git pull; fi; if [[ ! -z ${NODE_PACKAGES} ]]; then /usr/local/bin/npm install ${NODE_PACKAGES}; fi; if [[ ! -z ${UNNODE_PACKAGES} ]]; then /usr/local/bin/npm uninstall ${UNNODE_PACKAGES}; fi; if [ -f /home/container/package.json ]; then /usr/local/bin/npm install; fi; if [[ "${MAIN_FILE}" == "*.js" ]]; then /usr/local/bin/node "/home/container/${MAIN_FILE}" ${NODE_ARGS}; else /usr/local/bin/ts-node --esm "/home/container/${MAIN_FILE}" ${NODE_ARGS}; fi

Docker Images

LabelImage
Nodejs 25ghcr.io/ptero-eggs/yolks:nodejs_25
Nodejs 24ghcr.io/ptero-eggs/yolks:nodejs_24
Nodejs 23ghcr.io/ptero-eggs/yolks:nodejs_23
Nodejs 22ghcr.io/ptero-eggs/yolks:nodejs_22
Nodejs 21ghcr.io/ptero-eggs/yolks:nodejs_21
Nodejs 20ghcr.io/ptero-eggs/yolks:nodejs_20
Nodejs 19ghcr.io/ptero-eggs/yolks:nodejs_19
Nodejs 18ghcr.io/ptero-eggs/yolks:nodejs_18
Nodejs 17ghcr.io/ptero-eggs/yolks:nodejs_17
Nodejs 16ghcr.io/ptero-eggs/yolks:nodejs_16
Nodejs 14ghcr.io/ptero-eggs/yolks:nodejs_14
Nodejs 12ghcr.io/ptero-eggs/yolks:nodejs_12

Environment Variables

NameVariableDefaultRules
Git Repo Address
GitHub Repo to clone I.E. https://github.com/parkervcp/repo_name
GIT_ADDRESSnonenullable|string
Install Branch
The branch to install.
BRANCHnonenullable|string
User Uploaded Files
Skip all the install stuff if you are letting a user upload files. 0 = false (default) 1 = true
USER_UPLOAD0required|boolean
Auto Update
Pull the latest files on startup when using a GitHub repo.
AUTO_UPDATE0required|boolean
Additional Node packages
Install additional node packages. Use spaces to separate.
NODE_PACKAGESnonenullable|string
Git Username
Username to auth with git.
USERNAMEnonenullable|string
Git Access Token
Password to use with git. It's best practice to use a Personal Access Token. https://github.com/settings/tokens https://gitlab.com/-/profile/personal_access_tokens
ACCESS_TOKENnonenullable|string
Uninstall Node packages
Uninstall node packages. Use spaces to separate.
UNNODE_PACKAGESnonenullable|string
Main file
The file that starts the app. Can be .js and .ts
MAIN_FILEindex.jsrequired|string|max:16
Additional Arguments.
Any extra arguments for nodejs or ts-node
NODE_ARGSnonenullable|string|max:64