Image Node.js 16 sampai 24 untuk Pterodactyl, lengkap dengan egg yang bisa dipakai langsung. Cocok untuk bot Discord, API, atau aplikasi Node.js lain yang dijalankan lewat Panel.
Image di Docker Hub: derrick0930/nodejs
| Tag | Node.js |
|---|---|
16 17 18 19 |
16 - 19 (EOL, untuk project lama) |
20 21 22 23 |
20 - 23 |
24, latest |
24 |
Hanya build linux/amd64.
- Base
debian:bookworm-slim, binary Node.js disalin dari image resminode git,curl,ca-certificates,iproute2,build-essential,python3- User
container, working directory/home/container - Entrypoint yang mengubah
{{VARIABLE}}pada startup Pterodactyl menjadi nilai variabel egg, lalu menjalankannya
- Admin > Nests > Import Egg, pilih
egg-nodejs-custom.json - Buat server dari egg Node.js Custom, pilih versi Node di Docker Image
- Upload file project, atur
STARTUP_FILE, lalu Start
| Variabel | Default | Fungsi |
|---|---|---|
STARTUP_FILE |
index.js |
File utama yang dijalankan |
CUSTOM_STARTUP |
/usr/local/bin/node /home/container/${STARTUP_FILE} ${NODE_ARGS} |
Perintah terakhir saat start, bisa diganti, mis. npm start |
NODE_ARGS |
Argumen tambahan untuk node | |
AUTO_INSTALL |
1 |
Jalankan npm install otomatis jika ada package.json |
NPM_ARGS |
Argumen tambahan untuk npm install, mis. --omit=dev |
|
NODE_PACKAGES |
Paket npm tambahan yang di-install saat start | |
UNNODE_PACKAGES |
Paket npm yang di-uninstall saat start | |
AUTO_UPDATE |
0 |
git pull otomatis jika ada folder .git |
GIT_ADDRESS, BRANCH, USERNAME, ACCESS_TOKEN |
Clone repo saat install server (opsional) |
Urutan saat start: git pull (opsional), install/uninstall paket, npm install, lalu CUSTOM_STARTUP.
CUSTOM_STARTUP dijalankan dengan exec, jadi Node menjadi proses utama dan tombol Stop bekerja normal. Untuk perintah berantai, bungkus dengan sh -c '...'.
.
├── Dockerfile
├── entrypoint.sh
├── egg-nodejs-custom.json # satu egg untuk semua versi
└── per-version/ # egg terpisah per versi
Node 16, 17, 18, 19, 21, dan 23 sudah tidak mendapat update keamanan. Pakai 20, 22, atau 24 untuk project baru.