RE:NODE
Deploy a server
Browse hosting

Guides6 min read

Deploy a Node.js app from GitHub, and redeploy it on every push

From an empty server to a running application in about five minutes, including automatic redeploys when you push to your branch.


The whole point of application hosting is that you should never upload a zip file. Here is the shortest path from a repository to a running process.

1. Connect the repository

On your server's GitHub tab, install the app and pick the repository and branch. The panel uses short-lived installation tokens rather than asking you to paste a personal access token that never expires - a token you have to remember to revoke is a token that never gets revoked.

2. Set the start command

npm ci --omit=dev && node dist/server.js

Use your lockfile. `npm ci` fails loudly when the lockfile and the manifest disagree, which is exactly what you want on a server; `npm install` quietly resolves something different from what you tested.

3. Choose how it updates

  • Auto update pulls the branch every time the container starts.
  • Deploy on push restarts the server when GitHub reports a push to that branch - and only if it was already running, so a server you stopped stays stopped.

Both are independent switches. The panel keeps one row per deploy, opened when the push arrives and closed once the container is actually seen running again, so you can tell a deploy that shipped from a deploy that fell over.

4. Put a domain in front of it

Every application plan carries a reverse-proxy slot. Point a hostname at it from the Proxy tab and the certificate is issued and renewed for you.