With a Node.js Apps plan you run Node apps (Express, Fastify, NestJS, Next.js and more) straight from your repository. We install dependencies, run the build and start the app.
Step by step
- Go to Node.js Apps in your dashboard and click Create app on your plan.
- Choose Git repository and paste the HTTPS URL (e.g. https://github.com/user/my-api). Enter the branch to deploy (usually main).
- If the repository is private, check It's a private repository and paste a read-only token (see below).
- In Build and run pick the Node version (20, 22 or 24). Commands are optional: leave them empty and we detect them from your package.json and package manager (npm, pnpm or yarn).
- Add your environment variables (or paste your .env) and choose the name and address: your app lives at https://your-app.apps.fodenflow.com.
- Click Create and deploy and watch the build log live. When it finishes, the app is online.
What your app needs
- Listen on the port in the PORT variable (e.g. app.listen(process.env.PORT)).
- Have a start command: the start script in package.json or the one you set in Start.
- Respond on the health check path (/ by default): we check it before sending traffic to a new version.
How to create a GitHub token (private repository)
- On GitHub: Settings → Developer settings → Personal access tokens → Fine-grained tokens → Generate new token.
- Under Repository access pick Only select repositories and select the repository.
- Under Permissions → Contents choose Read-only. Generate the token and paste it in the dashboard.
On GitLab use a project Access Token with read_repository; on Bitbucket, a repository Access Token with Repositories: Read. The token is stored encrypted and never shown again.
Not using Git? You can also upload a ZIP of your project (up to 200 MB, without node_modules) or start from a working template.
Ask the assistant
Still have a question about this? Ask the assistant.
Was this article helpful?
Related articles
- Environment variables for your Node.js appAPI keys, passwords and settings your app reads from process.env, encrypted and with secret values.
- Automatic deploys and rolling backEvery push ships a new version with zero downtime; if something breaks, roll back in one click.
- Use your own domain on a Node.js app (with SSL)Add your domain, create an A or CNAME record and we issue the Let's Encrypt certificate automatically.