Skip to content

DocsGet started

Quick start

Put an Express app online from a GitHub repository, step by step: sign in, connect the repository, deploy, and what to do if it does not go live.

You need two things:

  • A GitHub repository with an Express app.
  • A server in that app that listens on process.env.PORT. The Express guide shows how, and Check your app checks it for you.
  1. Sign in.

    Open the dashboard and enter your email address. We email you a 6-digit code. There is no password. If the address is new, you add your name and the account is created.

  2. Start a new app.

    Open Apps and choose New app. If the dashboard asks for a plan first, choose one or start the trial. Pricing explains both.

  3. Connect GitHub.

    The first time, choose Connect GitHub and pick the repositories we may read. Only an owner or an admin of the team can do this.

    Is a repository missing from the list later? Choose Manage access on GitHub and add it.

  4. Source: choose the code.

    Pick the Repository, the Branch and the Framework (Express). Every push to this branch will deploy.

  5. Configure: check the settings.

    Give the app a Name. The settings under Advanced settings are filled in from your code:

    Setting Filled in with
    Node version .nvmrc, then engines.node in package.json, otherwise 22
    Build command npm run build if package.json has a build script
    Start command npm run start
    Port 3000
    Region The first region in the list

    Change what is not right. The region is the one setting you cannot change later. Build settings explains each one.

  6. Size: choose the compute.

    Pick how much CPU and memory each replica gets. You can change the size later. Scaling lists the sizes.

  7. Create the app.

    Check the summary and choose Create app. The first deployment starts at once.

  8. Watch it go live.

    Open the deployment to follow the Build log. When its status is Live, your app is online. Its address is at the top of the app and under Domains.

  • Every push deploys. Push to your branch and a new deployment starts. You can switch this off under Settings, Deploy on push.
  • A new app does not sleep. It starts with Keep one replica always on switched on, so it answers at once. That replica runs all month. To pay only while the app has visitors, switch it off under Scaling. See Sleep and wake.
  • Add what the app needs. Environment variables for secrets and settings, deploy commands for database migrations, a custom domain for your own address.

The deployment page says which step failed. Troubleshooting lists the messages and what to do about each.