Skip to content

Push to Git.
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.

acmeorders-api

Live

$ git push origin main

Push received on main, commit a3f9c1e

Cloning acme/orders-api

Using Node 22 and 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 or GitHub

    A code arrives by email, or GitHub says who you are. 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 framework (Express, Fastify, Hono, Koa, Hapi, Sails, NestJS, Next.js, Nuxt, SvelteKit, Astro, React Router, TanStack Start, React, Vue, Angular, AdonisJS, Laravel or plain Node.js), the Node version (and the PHP version of a Laravel app), the package manager (npm, pnpm, Yarn or Bun, from the lockfile) and the build and start commands are read from the repository. Each can be overridden, along with the port and the install and deploy commands.

  • 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 and metrics

Follow the output of the running app as it happens, and its CPU, memory, requests and response time in charts. 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.

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. Config values are stored encrypted; the value of a secret is never stored.
Deploy commands, cron jobs and commands
Deploy commands run before each release goes live, for database migrations. Cron jobs run a command every 5 minutes to every week, or on a cron expression, on a machine of its own while the app sleeps. Any command can also be run once from the dashboard, its output read as it prints.
Activity trail
Deployments and changes are listed with who made them.
Notifications
The team hears about failed deployments, crashes and domain problems in the dashboard.
Monorepos
A workspace (npm, pnpm, Yarn or Bun workspaces, with Turborepo or Nx on top) deploys one app per folder. Pick the folder when you create the app: packages are installed from the top of the workspace, and the app is built and run in its folder.

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
Largest size
Starter
Builds at a time
1
Build minutes a month
300
Days of metrics
3
Worker processes per app
2

Pro

For apps with real traffic.

$15

per month, plus usage

Apps
10
Replicas per app
5
Bandwidth included
100 GB
Largest size
Medium
Builds at a time
2
Build minutes a month
1000
Days of metrics
7
Worker processes per app
5

Business

For teams running many apps.

$25

per month, plus usage

Apps
25
Replicas per app
10
Bandwidth included
200 GB
Largest size
Large
Builds at a time
4
Build minutes a month
3000
Days of metrics
15
Worker processes per app
10

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. Bandwidth beyond the plan's allowance and custom domains beyond the first of each app are 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?

Any app that runs on Node.js and answers on the port in PORT, and Laravel apps on PHP 8.2 to 8.4. Express, Fastify, Hono, Next.js, Nuxt, React, Vue, Angular, AdonisJS, NestJS, SvelteKit, Astro, React Router, TanStack Start, Koa, Hapi, Sails and Laravel are recognised and set up for you; anything else runs as a plain Node.js app with your own build and start commands.

How do I deploy my app?

Sign in with a code sent to your email or with GitHub, connect a GitHub repository and pick a branch. The framework, the Node version, the package manager and the build and start commands are read from the repository. Creating the app deploys nothing yet: a short guide on its page walks you through variables, commands and cron jobs, and ends with Deploy. 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, bandwidth beyond the plan's allowance, and custom domains beyond the first one of each app. 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 or with GitHub. The trial starts once you verify a GitHub account.

Start deploying

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