Spin up temporary preview environments for every review in seconds.
No staging infrastructure, no Ops tickets, no server administration, no maintenance.
Configuring nginx, setting up SSL, managing DNS, Docker, Kubernetes... all to show a client a small change?
Clients can't review changes until you deploy to staging. That means delays, miscommunication, and rework.
QA is testing one change, sales needs another demo, and the next deploy overwrites both. Shared staging turns reviews into a queue.
A single always-on staging setup can quietly stack up cloud spend, maintenance time, CI/CD work, SSL renewals, DNS changes, and "can someone deploy this?" interruptions.
prev gives you instant, shareable preview URLs for self-contained web apps. Deploy from your local folder, a remote source, or a Docker image — without managing staging infrastructure.
# Deploy a local project
$ prev create .
✓ Live at https://focal-fossa.prev.sh
# Custom subdomain for client demos
$ prev create . --subdomain acme-redesign --ttl 7d
✓ Live at https://acme-redesign.prev.sh
# Password-protect your preview
$ prev create . --subdomain staging --credentials admin:secret
✓ Live at https://staging.prev.sh
# Deploy your Docker image directly
$ prev create --image myapp:latest --port 3000
✓ Live at https://cosmic-cuttlefish.prev.sh
Typical deploys go from code to live URL in under 30 seconds. Larger projects may take longer depending on build size.
Local folders, remote sources, or Docker images. If it is a self-contained web app that serves HTTP, prev can usually deploy it.
Every prev.sh preview gets HTTPS automatically. Verified custom domains get certificates provisioned via Let's Encrypt.
Use verified domains like preview.yourcompany.com, or choose memorable prev.sh subdomains for client demos.
Set previews to auto-expire in hours or days. Up to 7 days on Individual, 14 days on Teams.
Password-protect previews or restrict access by IP allowlist. Teams plans support multiple API keys with labels.
Manage all your previews from a beautiful web UI. See status, URLs, TTL, and delete with one click.
Use the prev CLI in any CI/CD pipeline — GitHub Actions, GitLab CI, Jenkins, and more.
One command to install. Works on Mac, Linux, and Windows.
curl -fsSL https://prev.sh/install.sh | sh
Navigate to your project and run prev create .. It auto-detects your framework, builds a container in the cloud, and gives you a URL. No Docker daemon needed on your machine for source deploys.
cd my-project && prev create .
Get an instant URL. Share it with anyone, anywhere.
✓ https://focal-fossa.prev.sh
Under the hood: prev detects your project type (React, Python, Go, etc.), packages it into an isolated container image on our infrastructure, deploys it to your chosen region, provisions HTTPS, and stops the preview when the TTL expires. Source uploads are discarded after the build; runnable images may be retained for deployment history and one-click redeploy until the history record is deleted.
Works with your stack
7-day free trial on all plans. Cancel anytime.
8 previews, 7 day TTL, password protection
20 previews, 14 day TTL, 4 regions
prev supports self-contained web projects — static sites, React/Vue/Angular, Next.js, Node.js, Python, Go, PHP, Ruby, Rust, .NET, and Docker containerized applications that expose a single HTTP port.
Most small previews are live within 15-30 seconds. The exact time depends on your project size, dependencies, and whether you're deploying from source or a Docker image.
Yes! Teams plans include custom domains, and Individual plans can add them as an add-on. Configure your wildcard domain in the dashboard, add a TXT record for verification, and your previews are available on your own domain. SSL certificates are automatically provisioned via Let's Encrypt.
All transfers are encrypted via TLS. Source uploads are used to build an isolated container image and are discarded after the build. Runnable images may be retained for deployment history and one-click redeploy until the history record is deleted. Teams plans include additional security features like IP allowlists and audit logs.
Yes! The prev CLI works in any CI/CD system — GitHub Actions, GitLab CI, Jenkins, CircleCI, and more. Just install the CLI and run prev create . in your pipeline to get a preview URL for every build.
When a preview reaches its TTL, it's automatically stopped. The deployment is archived to your history, and you can redeploy it with one click from the dashboard. You can also manually destroy previews at any time using prev destroy <url>.
In many cases, yes. If your staging server exists primarily to let stakeholders review self-contained web changes before production, prev can replace that workflow at a lower operational cost.
Great fit: Frontend reviews, design sign-offs, client demos, QA testing of UI changes, PR previews in CI/CD. Each preview runs in its own isolated container with its own URL, so multiple reviews happen in parallel — no environment conflicts.
Not a fit: If your staging environment requires a shared database with production-like data, long-running background workers, or multi-service orchestration (e.g. microservices with service discovery), a dedicated staging server is still the better choice. prev is designed for self-contained, single-container applications.
Each preview runs in its own container with 256 MB RAM by default. Memory-heavier frameworks get more: 384 MB for Ruby and Next.js, 512 MB for .NET. Preview containers are ephemeral — there is no persistent container disk between deploys. You can pass environment variables at deploy time via prev create . --env KEY=VALUE or an .env file. Previews expose a single HTTP port (auto-detected or set with --port).
vs ngrok: ngrok creates tunnels to your local machine — your computer must stay on, and it exposes your local environment. prev deploys your code to cloud infrastructure, so previews run independently of your machine.
vs Netlify / Vercel: These are full hosting platforms designed for production deployments with git integration, serverless functions, and CDNs. prev is purpose-built for temporary preview environments: one CLI command, broad framework support, automatic cleanup. No git integration required, no hosting lock-in, and it works with Docker images too.
Your next staging environment is one command away. Start your 7-day free trial today.