Skip to content
BENIBIXStylesTerminalExample site for a made-up developer tool
TypeGeist Mono 400 and 600
Show the site
Write to me

v2.4.0 · logs by level, see changelog

$ pushbay deploy

# From commit to live in one command. No pipeline to write, no YAML to keep, no waiting.

$ curl -fsSL pushbay.example/install | sh

~/shop, zsh
$ pushbay deploy
  build ........ done  3.1 s
  tests ........ done  4.2 s
  upload ....... done  1.4 s
  health ....... ok
  live in 9 s  https://app.example
$ 
  • 9 smedian deploy
  • 41,000teams
  • 1command
  • 0YAML files

## how it works

Three commands, then one.

  1. 01

    pushbay init

    Run it once in your project. It reads what you have and writes a small config.

    $ pushbay init
      found: node 22, pnpm
      wrote: pushbay.toml
  2. 02

    pushbay link

    Point it at a server or one of ours. Keys stay on your machine.

    $ pushbay link prod
      key: ~/.ssh/id_ed25519
      linked: prod
  3. 03

    pushbay deploy

    Every deploy after that is one command, from your laptop or from CI.

    $ pushbay deploy
      live in 9 s

## features

Small tool, long list.

  • > Previews

    Every branch gets its own address, gone again when you merge.

    pushbay deploy --preview
  • > Rollback

    Back to any earlier deploy in about a second, nothing rebuilt.

    pushbay rollback 41
  • > Secrets

    Set once, kept encrypted, handed to the app when it starts.

    pushbay env set API_KEY
  • > Logs

    Follow every instance at once, filtered, in your terminal.

    pushbay logs -f --level warn
  • > Cron

    Jobs on a timetable, written next to the code they run.

    pushbay cron add "0 6 * * *"
  • > Regions

    Ship to Frankfurt, Virginia or Singapore, or all three.

    pushbay regions add sin

## config

One file, twelve lines.

Everything about how the app runs lives next to its code, in plain text you can read in a code review.

pushbay.toml

  1. # the shop, deployed with pushbay
  2. name = "shop"
  3. run = "pnpm start"
  4. port = 3000
  5.  
  6. [regions]
  7. list = ["fra", "sin"]
  8. instances = 3
  9.  
  10. [cron]
  11. report = "0 6 * * *" # every morning
  12. health = "/health"

$ pushbay logs -f

  • infoGET /api/orders 200 18ms
  • infoGET /api/orders/88 200 9ms
  • warnslow query orders.list 412ms
  • infoPOST /api/checkout 201 64ms
  • donedeploy 42 healthy on 3 instances
  • infoGET /health 200 1ms

## logs

Every instance, one stream.

Follow the whole fleet from your terminal. Filter by level, by region or by a word, and pipe it wherever you like.

## pricing

Pay per seat, not per deploy.

  • --plan=hobby

    €0 for one person

    • 3 projects
    • previews
    • community help
    Start
  • --plan=teammost teams

    €19 a seat a month

    • unlimited projects
    • rollbacks and cron
    • help within a day
    Start
  • --plan=scale

    ask for big fleets

    • your own regions
    • single sign-on
    • a person on call
    Talk to us

## changelog

Shipped lately.

  • v2.4.0

    pushbay logs can now filter by level and follow every region at once.

  • v2.3.2

    Rollbacks keep the secrets of the deploy they go back to.

  • v2.3.0

    Cron jobs, written in pushbay.toml and shown in pushbay status.

What developers say

  • We deleted 900 lines of pipeline config the week we switched.
    Lea, platform lead
  • Previews per branch changed how our designers review work.
    Omar, front-end developer
  • The rollback is so fast we stopped being scared of Fridays.
    Kenji, CTO of a shop

## help

pushbay help.

Does it work with my stack?

If it runs in a container or as a Node, Python, Go or Ruby app, yes. pushbay init tells you what it found.

Can I use my own servers?

Yes. pushbay link takes any server you can reach over SSH, next to or instead of ours.

What happens if a deploy fails?

The old version keeps serving. Nothing switches until the health check passes.

## ready?

$ pushbay deploy

Free for one person and three projects. No card, no call, no YAML.