tape deploy publishes a complete static build to an existing tape. Pass the
root index.html; its parent directory becomes the site root.
Output
--prefix, the URL includes the prefix path. The CLI
uses Tapenet’s tape.site domain by default; for another gateway, set TAPE_SITE_DOMAIN
or site_domain in the CLI config to that
gateway’s site domain. -o json also returns the bare subdomain_label.
The command uploads every regular, non-hidden file below ./dist, preserving
relative paths. That includes assets referenced indirectly through CSS,
JavaScript, manifests, workers, and runtime fetches—not only links visible in
the HTML.
index.html is the publication switch: all other changed files are written
successfully before it. A failed asset upload therefore leaves the previous
entry point in place and the deployment is safe to retry.
Options
--tapeselects an existing tape keypair instead of the active tape.--prefix previewpublishes aspreview/index.html,preview/assets/app.js, and so on.--forceuploads every file even when its size and content match.--pruneremoves remote names under the selected prefix that are absent locally, after the newindex.htmlis published. Without it, old names stay on the tape.
Output
Safety boundaries
The entry point must be a readable regular file named exactlyindex.html.
Visible symlinks and other non-regular files are rejected rather than followed.
Every path with a dot-prefixed segment is skipped. In particular,
.well-known/ is never published, and a dot-prefixed --prefix is rejected.
There is no override for this boundary: hosted tape content cannot claim ACME
or domain-verification paths.
The command does not create or resize a tape, because both actions spend from your
wallet and require capacity and expiry choices. Start with tape create, or select an
existing keypair with tape use.
For arbitrary named-object directory uploads, use
tape object sync. For the complete hosting
workflow, see Hosting a Static Site.