Git push to deploy
Connect a repo and every push to a tracked branch triggers an automatic build and deploy. Webhooks are registered for you.
Liftoff builds your image and provisions DigitalOcean infrastructure in your own account — with Pulumi, Docker, and GitHub Actions. Push code, get a live URL. No black boxes, nothing to get locked into.
Built entirely on open source — nothing proprietary, nothing to get locked into.
Liftoff provisions everything into your own DigitalOcean account with standard, open tools. Cancel Liftoff tomorrow and your apps keep running — because they were never ours to hold hostage.
Your DO token, encrypted with AES-256-GCM. Revoke anytime.
Plain Pulumi stacks and Docker images. No magic, fully inspectable.
Every resource lives in your cloud. No exit tax, ever.
From a git push to a load-balanced, HTTPS app on DigitalOcean — with the workflow and observability you'd expect from a modern platform.
Connect a repo and every push to a tracked branch triggers an automatic build and deploy. Webhooks are registered for you.
Add services, databases, caches and buckets on a graph, then wire them together — drag, drop, connect.
App Platform, Managed PostgreSQL & Redis, Spaces and DOCR — with automatic HTTPS via Let’s Encrypt.
Build and provision output streamed in real time over WebSockets, with a clear state machine from queued to live.
Connect a database or cache and Liftoff injects the env vars and internal URLs your app needs — no copy-paste.
A single liftoff.yml at your repo root, validated with Zod. Your deploy config lives with your code.
Environments map to branches across one or many repos. Promote from preview to production with a push.
Per-service CPU, memory and restart metrics, with replica scaling from 1 to 10 instances.
No YAML pipelines to babysit, no servers to SSH into. Connect once, then just push.
Add your DigitalOcean token (encrypted, AES-256-GCM) and link a GitHub repo. Webhooks are registered automatically.
Push to a tracked branch. A GitHub webhook tells Liftoff to start a deployment — no manual triggers.
Liftoff builds your image (Dockerfile-first, Nixpacks fallback), pushes to your DOCR, then runs Pulumi against your account.
Your app is on DigitalOcean App Platform with auto HTTPS, logs and metrics. You own every resource.
Describe your service, build, runtime, env and add-ons in a single liftoff.yml at your repo root. It's validated with Zod and versioned with your code — no dashboards to click through.
Dockerfile-first builds — Bring your own Dockerfile, or let Nixpacks detect the build automatically.
Managed add-ons — Flip on Postgres or Spaces and Liftoff provisions and wires them in.
Secrets, handled — Declared secrets are injected as encrypted env vars on App Platform.
Health checks — Define a health path; rollouts wait for it to pass before going live.
version: "1.0"
service:
name: my-webapp
type: app # DigitalOcean App Platform
region: nyc3
build:
strategy: auto # Dockerfile-first, Nixpacks fallback
runtime:
instance_size: apps-s-1vcpu-0.5gb
replicas: 2
port: 3000
database:
enabled: true
engine: postgres
version: "15"
healthcheck:
path: /healthEvery deploy, fully observable
No proprietary runtime hiding under the hood. Every layer is something you can read, fork, audit, and run yourself.
MIT licensed · self-hostable · audited dependencies
Pulumi
Infrastructure as code
Docker
Reproducible images
Nixpacks
Zero-config builds
GitHub Actions
CI build & push
NestJS
API & orchestration
Next.js
Dashboard & canvas
PostgreSQL
Primary datastore
Redis + BullMQ
Queues & jobs
Prisma
Type-safe ORM
Socket.io
Real-time log stream
Connect DigitalOcean and GitHub, push your code, and watch it go live — in minutes, with zero lock-in.