Deploying is log in once, check what will change, then push to sync.
Zero deployment configuration — no Dockerfile, hosting provider config, or
CI build settings for the site itself. webstorio.config.ts plus
webstorio push is enough; Webstorio compiles and hosts. See How the CLI
works.
1. Log in
This opens your browser to authorize the CLI. After you approve, a token is
stored locally (OS keychain when available, otherwise a 0600 file in
~/.webstorio/).
2. Check status
See what differs from the remote project before you push:
status is read-only. It shows:
- Environment and auth (logged in or not)
- Local project name, subdomain, page/component counts
- A diff vs remote when you’re logged in: pages, components, and assets as
new (+), modified (~), or unchanged (·)
- Schema changes when
schemasDir is set (new / modified /
unchanged / remote_only)
Run it again after a push to confirm you’re up to date.
3. Push
On push, the CLI:
- Resolves your project by its
subdomain (creating it if needed).
- Applies configuration & features from
webstorio.config.ts.
- Merges
branding (when present) into the website config, resolving favicon /
default OG image paths from uploaded assets.
- Composes each page/component into a single self-contained module.
- Uploads the
code (and syncs pages[].seo when authored); the server
validates and compiles authoritatively into the stored HTML, writing a new
version per page.
- With
--publish, publishes the synced pages and the site.
After the first successful push, the project is marked CLI-managed in the
dashboard. Editors can still change pages, branding, and features in the UI, but webstorio push will overwrite these changes.
Each page is reported as created, updated, or error:
What gets created
- A project + website bound to your
subdomain.
- A home page (
/), one page per pages[] entry, and _header/_footer
component pages for your components[].
- A new page version for each pushed page on every run (push is idempotent —
re-running updates existing pages in place).
The subdomain is the project’s identity. Changing it in your config will
resolve to (or create) a different project on the next push.
Command options: webstorio login,
webstorio status, and
webstorio push.