Skip to content

Containers from your lockfile.

Gantry reads the lockfile you already commit, builds images in layers it can reuse and runs them without a daemon. One 9.4 MB binary, no root, and your Dockerfiles keep working.

Getting startedUpdated 2 Oct 20263 min read

npm install -g @gantry/cli
Other ways to install
~/code/acme-web
$ gantry up  resolve  pnpm-lock.yaml · 412 packages           0.21s  layers   9 cached · 1 rebuilt (src)              1.84s  start    db   -> postgres://localhost:5432        41ms  start    web  -> http://localhost:3000            38ms  ready    2 services healthy in 2.13s · watching src/

What Gantry does

Gantry is a container CLI for the part of the job that happens on your laptop and the first server you ship to. It reads your lockfile, builds an OCI image in layers it can reuse, and starts your services directly, each in its own namespaces. There is no background service to install, keep running or restart.

Binary
9.4 MB, static
Warm start
82 ms for two services
Daemons
None. It runs as you, no root
Images
OCI, push to any registry

If you already have Dockerfiles, keep them. Gantry builds them as they are and only falls back to the lockfile for services that don't have one.

How a run works

Every gantry up goes through the same stages. Resolve always runs, but when the lockfile hasn't changed it only checks a hash. Layer is skipped outright when its inputs are the same, which is why a warm start takes milliseconds. Switch between the two below; the bar is to scale.

Ready in2.13 s

  1. Resolve210 msReads pnpm-lock.yaml and gantry.toml and works out the layers each service needs.
  2. Layer1.84 sRebuilds the one layer whose inputs changed (src). The other nine come from the local cache.
  3. Start79 msStarts db, waits for its health check, then web. Each in its own namespaces.
  4. WatchRunningRebuilds the source layer on save and restarts only the services that use it.

When not to use Gantry

  • You run a fleet. Gantry ships to a registry or to single hosts; scheduling across many machines belongs to the orchestrator you already have.
  • You need Windows containers. Gantry runs Linux images only, on macOS inside a small VM it manages for you.
  • Your builds lean on a cache shared between machines. Gantry's cache is per machine; read the layer cache before you decide.
Upgrading from 1.x
Config written for Gantry 1.x still loads. Run gantry doctor --migrate to rewrite the old keys in place and see a diff before anything is saved.

Where to go next