21 lines
1.1 KiB
Markdown
21 lines
1.1 KiB
Markdown
|
|
# Preview Worker Deployment
|
||
|
|
|
||
|
|
The web application only enqueues persistent preview jobs. A separate deployment must run the same application with:
|
||
|
|
|
||
|
|
```text
|
||
|
|
EASYCODE_PREVIEW_EXECUTION_MODE=persistent
|
||
|
|
EASYCODE_PREVIEW_WORKER_ENABLED=true
|
||
|
|
EASYCODE_PREVIEW_WORKER_ROOT=/data/preview-worker
|
||
|
|
EASYCODE_PREVIEW_DOCKER_IMAGE=easycode/preview-worker:v1
|
||
|
|
```
|
||
|
|
|
||
|
|
Build the runtime image:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
docker build -t easycode/preview-worker:v1 deploy/preview-worker
|
||
|
|
```
|
||
|
|
|
||
|
|
The web and Worker deployments must share the control database and the configured Worker root volume so the authenticated screenshot endpoint can read `output/screenshot.png`. Only the Worker deployment needs Docker access. The web deployment must use `EASYCODE_PREVIEW_EXECUTION_MODE=persistent` and keep `EASYCODE_PREVIEW_WORKER_ENABLED=false`. Local development defaults to `host` mode and does not require Docker.
|
||
|
|
|
||
|
|
The runtime publishes one constrained container port, waits for `/output/ready`, stores bounded logs and a Chromium screenshot, and is stopped by the durable Job TTL. Docker failures remain explicit; there is no host-process fallback.
|