pl up builds your checkout in a sealed sandbox, puts it on your own servers behind a private network, and hands back an HTTPS address. No pipeline to write. No platform bill.
$ pl up, followed by the deployment's events, ending with the live URL.
~/demo-app ❯ ▌ feature/*PreviewIts own URL for dev, test and QA. Share the link, get feedback, merge.
checkout-v2--app.pushleft.devdevelopIntegrationBuilt and tested on every push, on a network of its own.
test-app.example.comrelease/*ReleaseShipped to end users, with the previous release kept warm.
release-1-8--app.pushleft.devmainProductionShipped to prod on merge. Health-checked before it takes traffic.
app.example.com
Push a branch and Pushleft does the rest: builds it, finds it a server, gives it a private network, puts it behind HTTPS, and cleans up after you. You never write the pipeline.
A deployment platform you install, not rent. The ease of a hosted platform, on servers you already pay for.
pl up takes a checkout to an HTTPS address. Nothing to set up first, nothing to keep in sync later.
No YAML, no runners, no deploy keys to babysit. The platform is the pipeline.
Your servers, your database, your domain. The only bill is the server bill.
Hosted platforms charge per seat, per build minute, per gigabyte, per region. Pushleft charges nothing. You pay your server provider, and that bill is the same whether two people push or twenty.
Your server provider's. There is no second invoice: nothing from us, no marketplace, no add-on store.
The full demo ran on one machine of that size: control plane, build node, apps, private network, HTTPS. Hetzner's smallest plans start below it.
Open source. No licence, no usage meter, no sales call to unlock a feature you already run.
Each branch gets its own address on its own private network. Share the link, get feedback, merge.
The previous release is kept warm. Going back is one command, no rebuild.
Each environment runs on its own private network. Only the edge faces the internet.
Point your DNS at it. The certificate is issued and renewed for you.
Point-in-time restore and a standby control plane come with the install, not as add-ons.
Read it, fork it, run it on the cheapest server that fits. Add servers when you outgrow it.
For teams that would rather ship than run a platform team. One person installs it in an afternoon. Everyone else just pushes.
One server, a product live tonight, and the same tooling when it is ten servers.
Every client in its own organisation, on its own network and domain. One console for all of them.
Give the company pl up instead of a ticket queue, on servers you already own.
Most outages start with a system saying yes when it should have said not yet. Pushleft says not yet. The worst case is a delay, never a breach.
No traffic before health. A new release gets the URL only after it has passed its health check.Free is not the same as allowed. A server having room is not permission to run there. The network has to admit the app first.Nothing is erased. Every status is kept and no network address is reused, so you can always see what happened.Missing a requirement? It stops. If a server cannot enforce the firewall, the deploy is refused rather than run unprotected.Open source. Your servers, your database, your domain. The manual takes you from nothing to a live URL on one machine in an afternoon.