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:
- Project name and subdomain, then environment and login state
- Remote publish state (or that the project is not created yet)
- Only changed pages, components, assets, and schemas (
+ new, ~
modified, − remote-only)
- A one-line unchanged summary, or Up to date when nothing differs
Run it again after a push to confirm you’re up to date.
3. Push
On push, the CLI:
- Runs the project’s
lint and typecheck scripts and aborts if either fails.
- 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 changed page is reported as created, updated, or error. Unchanged
pages, components, features, branding, and schemas are folded into one summary
line:
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.