Skip to content

Push to GitHub.
Your Node.js
app is live.

Connect a repository. Orbit builds it, runs it, and deploys every push. Idle apps sleep, so you pay for compute only while they run.

7-day trial with $5 of usage credit. No card.

A request came in. Awake again.

acme/orders-api

Live

$ git push origin main

Push received on main, commit a3f9c1e

Cloning acme/orders-api

Detected Express, Node 22, pnpm from pnpm-lock.yaml, port 3000

$ pnpm install --frozen-lockfile

Done, 142 packages

$ pnpm run build

> tsc -p tsconfig.json

Build finished

Running the deploy command before the release goes live

$ pnpm run migrate

Applied 1 migration: add_orders_index

Starting the app

Listening on port 3000

Live at https://api.example.com

GET /orders 200

No requests for a while, the app is asleep

Compute is not billed while it sleeps

Request received, waking the app

Listening on port 3000

GET /orders 200

Three steps to a running app. No build configuration to write, no servers to look after.

  1. Code sent to ada@example.com

    481902

    1

    Sign in with an email code

    A code arrives by email. There is no password to create or remember.

  2. acme/orders-apiConnect
    Branchmain

    2

    Connect a GitHub repository

    Pick the repository and the branch. The build settings are read from the code.

  3. $ git push origin main

    api.example.comLive

    3

    Push

    Every push to that branch builds and deploys. You can also deploy by hand.

Everything between a push and a running app. This is what is built today.

acme/orders-apideploys on push to main
  • Add rate limiting to ordersa3f9c1eBuilding
  • Fix totals on empty carts71be0d4Live

Deploy on every push

Connect a GitHub repository. Every push to the branch you choose deploys, or you deploy by hand.

Node version
detected
22
Package manager
detected
pnpm
Port
detected
3000
Build command
pnpm run build
Deploy command
pnpm run migrate

Build settings detected

The Node version, the port and the package manager (npm, Yarn or pnpm, from the lockfile) are read from the repository. Install, build, start and deploy commands can be overridden.

  • api.example.comHTTPS active
  • orders.example.comHTTPS active

Custom domains

Add your own domain. HTTPS is set up automatically.

Listening on port 3000

GET /orders 200

POST /orders 201

GET /orders/42 200

GET /orders/9000 404

GET /orders 200

Live logs

Follow the output of the running app as it happens. Every deployment also keeps its own build log.

  • Add rate limiting to ordersa3f9c1eLive
  • Fix totals on empty carts71be0d4

Rollback

When a release is wrong, return to an earlier deployment.

Replicas3

On Pro and Business

RegionEurope West
Instance sizeSmall

Replicas, regions and sizes

Run up to 10 replicas of an app, depending on your plan, in the region and instance size you pick.

orders-api crashedCrashedThe team was notified by email.

Crash detection

When an app crashes, the team gets a notification.

  • ALAda LovelaceOwner
  • GHGrace HopperAdmin
  • LTLinus TorvaldsMember

Teams with roles

Invite people as owner, admin or member, and decide what each of them can do.

  • orders-api62%
  • storefront27%
  • webhooks11%

Usage broken down per app

The bill shows what each app used, so it can be checked line by line.

Environment variables
Set them per app. They are stored encrypted.
Deploy commands
Run before each release goes live, for database migrations for example.
Activity trail
Deployments and changes are listed with who made them.
Email notifications
The team hears about the events it chooses.

Idle apps cost nothing in compute.

An app nobody is using goes to sleep, and the next request wakes it. Compute is billed per second, only while the app is awake.

Keep one replica always on

Off: idle time costs nothing in compute.

orders-apiSleeping
RequestsCompute billed per secondAsleep, not billed

What developers say.

  • I connected the repository, pushed, and the API was online. I never wrote a line of build configuration.
    PNPriya N.Independent developer
  • Our staging apps sleep most of the day. The bill finally matches how little they run.
    DKDaniel K.Technical lead, Northwind
  • A bad release went out on a Friday. We rolled back to the previous deployment and read the build log afterwards.
    SMSofia M.Backend engineer, Globex
  • Migrations run as a deploy command before the release goes live. We stopped running them by hand.
    TRTomás R.Founder, Initech
  • The usage breakdown per app is the first hosting bill I could read without a spreadsheet.
    HBHannah B.Agency owner
  • Custom domain, HTTPS, done. That part used to take me an afternoon.
    KWKenji W.Full-stack developer

Sample quotes while the site is in preview. Quotes from customers replace them at launch.

A monthly plan, plus what your apps use. Sleeping apps are not charged for compute.

Hobby

For side projects and a first app.

$5

per month, plus usage

Apps
3
Replicas per app
1
Bandwidth included
30 GB

Pro

For apps with real traffic.

$15

per month, plus usage

Apps
10
Replicas per app
5
Bandwidth included
100 GB

Business

For teams running many apps.

$25

per month, plus usage

Apps
25
Replicas per app
10
Bandwidth included
200 GB

Enterprise

For companies that need more than Business.

Custom

limits and terms agreed with you

Tell us what you run and what you need. We settle the limits and the terms together.

Talk to us

Compute is billed per second while an app runs, and bandwidth beyond the plan's allowance is billed on top. See how pricing works

Questions

What is Orbit?

Orbit is a hosting platform for Node.js apps. You connect a GitHub repository, Orbit builds it and runs it, and every push to your branch deploys.

Which apps can I deploy?

Express apps on Node.js today. Next.js, Nuxt, React and Laravel are planned and not available yet.

How do I deploy my app?

Sign in with a code sent to your email, connect a GitHub repository and pick a branch. The Node version, the port and the package manager are detected from the repository. After that every push to the branch deploys, or you deploy by hand.

What happens when my app is idle?

It sleeps, and wakes on the next request. A sleeping app is not charged for compute. If an app must answer at once, you can keep one replica always on; it is then billed like any running replica.

Can I use my own domain?

Yes. Add a custom domain and HTTPS is set up automatically.

How do database migrations run?

As a deploy command. Deploy commands run before each release goes live.

Can I go back to an earlier release?

Yes. You can roll back to an earlier deployment, and every deployment keeps its own build log.

What does it cost?

Plans are $5, $15 and $25 a month, plus usage: compute per second while an app runs, and bandwidth beyond the plan's allowance. There is a 7-day trial with $5 of usage credit and no card.

Connect a repository and push

Sign in with a code sent to your email. The trial starts once you verify a GitHub account.

Start deploying

7-day trial with $5 of usage credit. No card.