Self-hosted publisher service for Webstudio.
When a user clicks Publish in the Webstudio builder, this service:
- Fetches build data from the builder via its REST API
- Runs
webstudio sync+webstudio build --template ssgto generate a static site - Runs
vite buildto produce static HTML files - Writes the output to
/var/publish/<domain>/so Nginx can serve it
Images are published automatically on every push to main and on releases:
| Registry | Image |
|---|---|
| GitHub Container Registry | ghcr.io/webstudio-community/webstudio-publisher:latest |
| Docker Hub | webstudio-community/webstudio-publisher:latest |
This service is meant to be used alongside the Webstudio builder. See webstudio-self-host for the full Docker Compose setup.
| Variable | Default | Description |
|---|---|---|
TRPC_SERVER_API_TOKEN |
— | Service token to authenticate with the builder app |
BUILDER_INTERNAL_URL |
http://app:3000 |
Internal Docker URL for the builder (avoids Traefik/TLS) |
PUBLISHER_HOST |
— | Domain suffix for slug-based URLs (e.g. example.com → myproject.example.com) |
PORT |
4000 |
HTTP port |
docker build -t webstudio-publisher .| Method | Path | Description |
|---|---|---|
POST |
/publish |
Trigger a publish. Body: { "buildId": "...", "builderOrigin": "..." } |
GET |
/health |
Health check — returns ok |