Web Console
Publish, switch versions, connect domains and set up DNS — all from the browser, at my.shipstatic.com. Publishing itself needs no account at all.
Quick Start
No account yet? Drop your folder onto shipstatic.com — no sign-in, nothing to set up. Your site is live immediately and the claim URL that comes back is how you keep it. Public deploys expire in 3 days.
Signed in? my.shipstatic.com is the console: upload, switch versions, connect domains, run DNS setup, and manage your account. Opening a claim URL while signed in transfers that deployment to you — once claimed, it never expires.
Onboarding
Signed-in users are guided through a three-step flow:
- Upload: drag and drop your files or use the file picker
- Domain: choose a ShipStatic domain (
*.shipstatic.com) or bring your own - Connect: set up DNS records (custom domains only)
ShipStatic domains skip step 3, since they're verified instantly.
Deployments
| Action | Description |
|---|---|
| Upload | Drag and drop or pick files to create a new deployment |
| Password | Set a password on upload to gate the deployment behind an unlock prompt |
| List | View all deployments with metadata, labels, and status |
| Get | View deployment details, preview URL, file count, size, and protection state |
| Set | Edit labels |
| Delete | Delete a deployment |
Building from source
Drop a project folder instead of a built site and the console builds it for you: it installs the project's dependencies, runs its build script, and deploys the folder the build produced. This works for any Node.js frontend (Vite, Next.js static export, Astro, SvelteKit, Angular, Create React App, Eleventy, and the like).
What to include. Drop the whole project folder. node_modules and
anything your .gitignore lists stay behind, and the build makes them again.
So if your .gitignore lists your old dist or build folder, as most
projects' do, it doesn't go along. Everything else is sent, including files
whose names start with a dot, such as .npmrc. That includes .env, unless
your .gitignore lists it, so list it there if it holds anything private. The
files are only used for the build and are deleted after it.
The project needs package.json, its lockfile (package-lock.json,
pnpm-lock.yaml, yarn.lock or bun.lock), and every config file the build
reads, such as tsconfig.json, vite.config.* or astro.config.*. A build
that can't find tsconfig.json fails the same way it would on your machine.
A file your .gitignore lists that the app imports fails the same way, and
the build's output names it.
Build settings. Under Advanced options, two fields cover the projects the
console cannot work out on its own. Build command runs instead of the
build script in package.json (for example npm run build:site or hugo).
Output folder names where the built site lands (for example public or
dist/site) when it is not one of the folders the console looks for on its
own: dist, build, out, .output/public, _site and public. Both are
optional.
When a build fails. The console shows one sentence saying why, with the build's own output beneath it, exactly as it would print on your machine. The failure is in the project, not the platform: fix it and upload again, set a build command or output folder, or build locally and upload the built folder instead. A build has 2 minutes in total, including installing dependencies. If your project needs longer, build it on your computer and upload the built folder instead.
Domains
| Action | Description |
|---|---|
| Set | Create a platform or custom domain, link to a deployment |
| List | View all domains with status and linked deployment |
| Get | View domain details and DNS verification state |
| Switch | Repoint a domain to a different deployment |
| Verify | Check DNS records and update verification |
| Connect | Step-by-step DNS setup for custom domains |
| Delete | Delete a domain |
Once linked, a domain cannot be unlinked — switch to a different deployment or delete the domain.
Tokens
Deploy tokens are a command-line credential: create them with ship tokens create, not from the console. See Tokens.
Account
| Action | Description |
|---|---|
| Profile | View your account email, plus the name and picture your sign-in provider supplies |
| API key | Generate or regenerate your API key — shown once, never retrievable |
| Plan | View current plan and usage limits |
| Upgrade | Move to a paid plan (see Plans) |
| Settings | Open the Stripe Customer Portal (billing, cancellation), delete account |
Signing in
Two ways in, both free: Google or a magic link sent to your email address — no password to choose or remember. Sessions are managed automatically; the console never asks you for an API key or a token.
You only need an account to keep things. Uploading, previewing and sharing a site all work signed out — see Quick Start above.