Node.js apps are available on Pro and above. You connect a git repository, we build it and run it, and every push deploys the new version.
Setting it up
- Go to Apps and choose New app.
- Select Node.js.
- Connect the git repository and choose the branch you want deployed, usually
main. - Set your build command, for example
npm run build. - Set your start command, for example
npm start. - Add your environment variables. Anything your app reads from the environment, including API keys and database connection details, goes here rather than in the repository.
- Choose the domain or subdomain the app should answer on.
- Deploy.
We install your dependencies, run the build, start the app and put it behind HTTPS with a certificate we issue for you.
What works
Anything that runs as a normal Node process and listens on a port we provide. Next.js, Nuxt, Express, NestJS, Remix and Fastify are all straightforward. Read the port from the environment rather than hard-coding one.
Deploying an update
Push to the branch you connected. We build the new version and switch to it. You can also trigger a deploy manually from the panel, and you can roll back to a previous deploy if a release goes wrong.
Environment variables
Set them in the panel, not in your repository. Changing one triggers a redeploy so the new value is picked up.
Databases
Create a database in the Databases section and give your app the connection details as environment variables. Pro includes 3 databases, Premium 10, Platinum 25. Extra databases are $4 a month each.
Resources
Your app runs inside your account's guaranteed memory and CPU: 1.5 GB and 2 cores on Pro, 3 GB and 4 cores on Premium, 5 GB and 6 cores on Platinum. If a build or a running process needs more memory than your plan gives you, it will be stopped. If that happens regularly, move up a plan.
Logs
Build output and run-time output are both in the panel, under the app. That is the first place to look when a deploy fails.
The assistant in your control panel can see your actual account and answer about your sites, your plan and your usage. For anything else, email [email protected] and a person will answer.