Quickstart
Deploy a folder of static files and get a live URL in under a minute, then ship a change and roll it back.
To put a folder of static files on a public URL, run npx flypod ./dist in the
folder's parent directory. flypod prints an https://<id>.flypod.page URL that
works immediately. There is nothing to install, no account to create, and no
config file to write — you need only Node.js, which
provides npx.
Deploy
Point flypod at a folder of static files:
npx flypod ./distIt zips the folder, uploads it, and prints a live URL:
✓ Deployed in 0.9s · 12 files · 1.2 MB
https://a3f1c2d4e5b60789.flypod.page
expires 19 Oct 2026 in 14 days
keep it flypod login free · removes the expiry
update flypod update publishes a new version · same URLOpen it. Your site is live. In a script, the URL alone goes to stdout and
the rest to stderr, so URL=$(npx flypod ./dist) captures just the URL.
No path? flypod guesses.
Run npx flypod with no argument and it auto-detects a build directory:
the first of dist/, build/, out/, .output/public, .vercel/output/static,
public/, or _site/ that contains an index.html.
Ship a change
Edit your files, then push a new version to the same site:
flypod update ✓ Updated · version 8f1a0c2e is live
https://a3f1c2d4e5b60789.flypod.page
undo flypod rollback puts the previous version back
expires 19 Oct 2026 in 14 days
keep it flypod login free · removes the expiryflypod remembers which site this folder deployed to, so you don't pass an ID,
and plain flypod from this folder does the same as flypod update. Each update is a new immutable version, and the new one goes live. Version ids
are content hashes, so re-running with unchanged files resolves to the version
you already have instead of adding another one.
Undo
Roll back to the previous version (or name one: flypod rollback <version_id>):
flypod rollback ✓ Rolled back · version 7c0d19e2 is live
https://a3f1c2d4e5b60789.flypod.pageList the history (newest first, live version marked; versions that are not live are kept for 7 days):
flypod versions 8f1a0c2e44b7d913 18 Jun 2026 14:22 UTC ● live
7c0d19e2a4b35f18 17 Jun 2026 09:11 UTC
5a92c3d1e07b4a66 15 Jun 2026 18:40 UTCMake it permanent
Anonymous deploys expire after 14 days. To keep a site forever, deploy while logged in:
flypod login # approve this machine in your browser
flypod ./dist # this deploy is now owned and never expiresAlready deployed something anonymously? Just run flypod login — it claims
every anonymous site this machine remembers, in one step. There's no token to
find or copy. See Accounts & claiming.
Next steps
What is flypod
flypod is a zero-auth deploy primitive. POST a directory of static files, get a live URL back in seconds. No account, no config, no build pipeline.
Deploy a site
Deploy a folder or a single file to a live URL, with auto-detection of common build directories and machine-readable output for scripts.