Skip to content
flypod

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 ./dist

It 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 URL

Open 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 expiry

flypod 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.page

List 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 UTC

Make 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 expires

Already 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

On this page