Your team can just ship things.
A push-to-deploy PaaS for vibe-coded internal apps and PR previews.
Your compute, your auth, a platform you don’t have to run.
How Ship works
Install Ship anywhere you deploy.
Machines join a shared compute pool you set up once with one command or your favorite IaC tooling. The daemon connects to Ship to receive workloads, deploy apps to the pool, and route inbound connections.
- CLI
- Kubernetes
- Terraform
- Argo CD
- Flux
- OAuth
Connect your repo.
Ship detects your stack, builds your app's container, and deploys it across your compute. No Dockerfile required.
Share your app. Control access.
Every app gets a URL that can be public to the world or private to your team.
Push to deploy on your compute.
On every git push, Ship deploys your apps and spreads replicas across your compute pools by default. One provider's outage won't take your apps down.
DevEx. Velocity. Control.
Everyone builds apps now. Let them ship quickly on compute you govern instead of your infra sprawling onto a PaaS.
Get push to deploy and PR previews
Your team wants the ergonomics of PaaS, you want infrastructure you control. Now everyone wins.
Know where everything runs
Every app lands in one place you can see, instead of on a personal VPS you find out about later.
You're not limited to PaaS primitives
Your team's apps can use S3, RDS, IAM roles—anything in your providers' catalogs.
Choose the best compute providers
Optimize for price, geography, GPU, or cross-provider redundancy without changing your deploy workflows.
Don't panic over every PaaS security incident
Breaches seem to happen with alarming frequency these days, don't they?
Operate one platform, not many
Keep using the observability and security tools you already standardized.
“A self-hosted PaaS in your VPC!”
We’ve heard that story before.
Ship is different.
You don’t host the control plane. Yes, your coding agent writes great Terraform, but with Ship, you only install a lightweight daemon and operationalize nothing. Nothing messes with your existing infra.
The gateway is built in. The agent connects your apps with secure tunnels and gives them URLs. Receive requests on any hardware without reconfiguring your network.
What will your team ship first?
No matter the app, public or private: one workflow covers the deployment, the URL, the access, and the routing.
- https://mcp-server.acme.com
- https://dashboard-pr-42-preview.internal
- https://discord-bot.ngrok.app
- https://n8n.internal
- https://fastapi.acme.com
- https://excalidraw.internal
- https://vibe-coded-dashboard.ngrok.app
- https://atlantis.acme.com
- https://lunch-roulette.internal
- https://nextjs-app.acme.com
- https://slack-bot.ngrok.app
- https://grafana.internal
- https://docusaurus.acme.com
- https://streamlit.ngrok.app
- https://kafka-ui.internal
- https://strapi.acme.com
- https://go-api-rust-rewrite.internal
- https://anything-with-a-dockerfile.ngrok.app
New deployment targets just dropped.
Bring the compute you already run with Terraform, Argo CD, or Flux, or connect a provider and let Ship provision pools of VMs, GPUs, or Kubernetes clusters for you. Either way, apps land in shared pools your platform team owns, not one-off clusters people spin up and forget.
Auth the app author can't skip.
Set SSO, OAuth, OIDC, or IP restrictions at the platform level, and Ship enforces them in front of every app. Nobody has to remember auth, and no internal app sits on an open URL.
Preview environments the whole internet can't see.
Every pull request gets a preview with a .internal URL that's only available on your team's private network.
With a production-grade gateway built in.
Flip on auth, firewalls, bot-blocking from a single screen. Ship turns those choices into Traffic Policy and enforces them at ngrok's cloud, before requests reach your app. DDoS protection and global acceleration come standard.
Services find each other by URL.
An app on a VM can call an API in your K8s cluster, no matter the networks or continents between them.
$0.001
Already have a gateway? Pay only for workload hours.
All the boxes you need to check to safely host apps from the vibe-coding masses.
Frequently asked questions
We already ship with Ship.
Now try it yourself.
No upfront costs. No contact sales. Pay only for what you use.
Join the waitlist