pack
Self-host apps with one command. Run pack and get a persistent HTTPS URL.
Server install
curl -fsSL https://pack.sh/server.sh | sudo shLocal install
curl -fsSL https://pack.sh/install.sh | shpowershell -c "irm pack.sh/install.ps1 | iex"Build & Deploy
packView
https://hello.pack.sh/ Features
- Self-hosted
- Single command server install.
- Single command deploy.
- Builds apps into single-file executables.
- Persistent and immutable instances.
- Automatic port pooling via
process.env.PORT - Inactive deployments are put to sleep and restored on request.
- Supports static HTML, Node.js (20.6.0+), Bun, Deno, Go, Zig, Rust, C and C++.
How it works
pack builds your project into a single-file executable and deploys it to your server. No server updates or build pipelines to configure.
Every time you run pack, it creates a new deployment. Old deployments are put to sleep and deleted after 30 days of inactivity.
How does this compare to Vercel, Netlify, Cloudflare Pages, Fly, Railway, or Heroku?
Those are managed platforms.
pack gives you a similar deploy experience on your own server. You bring the VPS; it handles deploys, HTTPS, port routing, and inactive deployments.
Why not Dokku, Coolify, or CapRover?
Those are broader self-hosted platforms. They build apps with Dockerfiles or Buildpacks and run them in containers.
pack is intentionally smaller. It builds your app into a single-file executable, deploys it to your server, gives each deployment a persistent HTTPS URL, and handles ports, routing, and inactive deployments.
Instances
https://pack.sh/instances/