Quickstarty

Quickstart: Sites

Wdróż frontend (statyczny lub SSR) obok bazy.

Sites hostuje build Vite/Next/Astro/SvelteKit pod HTTPS, z podglądami i rollbackiem.

Zmienne w przykładach: $HOSTBASE_TOKEN (token dostępu), $REF (ref projektu). SDK: @hostbase/management (TypeScript) i hostbase_management (Python), pełne API: /docs/api.

1. Wdróż build

Wskaż katalog z gotowym buildem albo kod źródłowy.

curl -X PUT https://host.ulewicz.space/api/v1/projects/$REF/sites/shop -H "Authorization: Bearer $HOSTBASE_TOKEN" -H "Content-Type: application/json" -d '{"framework":"vite"}'
# then POST .../sites/shop/deployments with {"mode":"dist","archive_base64":"..."}
await hb.saveSite({ ref, name: "shop", body: { framework: "vite" } as never });
await hb.deploySite({ ref, name: "shop", body: { mode: "dist", archive_base64 } as never });
hb.deploy_site(ref=ref, name="shop", body={"mode": "dist", "archive_base64": archive_b64})
hostbase sites deploy ./dist --site shop
hostbase sites deploy . --site shop --mode source

2. Zmienne i domena

CNAME na <site>-<ref>.host.ulewicz.space, certyfikat automatycznie.

curl -X PUT https://host.ulewicz.space/api/v1/projects/$REF/sites/shop/env -H "Authorization: Bearer $HOSTBASE_TOKEN" -H "Content-Type: application/json" -d '{"env":{"VITE_API_URL":"https://abcdefghijklmnopqrst.host.ulewicz.space"}}'
curl -X POST https://host.ulewicz.space/api/v1/projects/$REF/sites/shop/domains -H "Authorization: Bearer $HOSTBASE_TOKEN" -H "Content-Type: application/json" -d '{"hostname":"www.example.com"}'
await hb.setSiteEnv({ ref, name: "shop", body: { env: { VITE_API_URL: "https://abcdefghijklmnopqrst.host.ulewicz.space" } } });
await hb.addSiteDomain({ ref, name: "shop", body: { hostname: "www.example.com" } });
hb.set_site_env(ref=ref, name="shop", body={"env": {"VITE_API_URL": "https://abcdefghijklmnopqrst.host.ulewicz.space"}})
hostbase sites env set shop VITE_API_URL=https://abcdefghijklmnopqrst.host.ulewicz.space
hostbase sites domains add shop www.example.com

3. Rollback

Promuj dowolny gotowy deployment bez przebudowy.

curl -X POST https://host.ulewicz.space/api/v1/projects/$REF/sites/shop/deployments/d11/promote -H "Authorization: Bearer $HOSTBASE_TOKEN"
await hb.siteDeploymentAction({ ref, name: "shop", id: "d11", action: "promote" });
hb.site_deployment_action(ref=ref, name="shop", id="d11", action="promote")
hostbase sites rollback shop d11

Dalej: /docs/sites.