The Node.js preset provides Node.js with npm, managed by a systemd service for automatic restarts and logging.Documentation Index
Fetch the complete documentation index at: https://docs.instapods.com/llms.txt
Use this file to discover all available pages before exploring further.
Available Versions
| Version | Status |
|---|---|
| Node.js 18 | LTS |
| Node.js 20 | LTS (default) |
| Node.js 22 | LTS |
What’s Included
| Component | Version | Details |
|---|---|---|
| Node.js | 18, 20, or 22 (your choice) | JavaScript runtime |
| npm | Bundled with Node.js | Package manager |
| systemd | — | Process manager (app service) |
| git | Latest | Version control |
| SSH | OpenSSH | Access via dedicated port |
Directory Structure
- App Root:
/home/instapod/app - App Port: 3000 (your app must listen on this port)
- Environment:
NODE_ENV=productionis set by default
How the App Service Works
Your Node.js app runs as a systemd service calledapp. It:
- Runs
/usr/bin/node index.jsfrom/home/instapod/app - Starts automatically on boot
- Restarts on crash (
on-failurepolicy) - Logs to the system journal (viewable via the Logs tab or CLI)
- Runs as the
instapoduser
Deploying Your App
Upload and Reload
Example Express App
No Hot Reload
Node.js does not support hot reloading of code. Every code change requires a full process restart viapods reload. The restart takes about 1 second and causes a brief interruption.
Viewing Logs
Adding a Database
Database services require the Build plan or higher.
Use Cases
- Express / Fastify APIs
- Next.js applications (standalone mode)
- GraphQL servers
- Real-time apps with WebSockets
- Background workers and job queues