Monitoring and updates
Health checks
curl --fail http://127.0.0.1:8088/health
curl --fail http://127.0.0.1:8088/ready
curl --fail http://127.0.0.1:9090/license
curl --fail http://127.0.0.1:9090/metrics
/health checks the process; /ready checks readiness. The admin listener exposes Prometheus and license status without secrets. Restrict it to your monitoring infrastructure.
Metrics
Enable Prometheus with telemetry.metrics.prometheus.enabled. Push is disabled by default. To send metrics to a compatible OTLP/HTTP protobuf receiver:
telemetry:
metrics:
push:
enabled: true
endpoint: https://telemetry.example.com/v1/metrics
bearer_token_env: OTLP_TOKEN
interval: 30s
This targets an OTLP receiver, not a POST to Prometheus /metrics. Scrape and push represent the same measurements; do not sum duplicate streams from one instance.
Monitor readiness, source errors, processing latency, cache hits and free space. Correlate individual requests using X-Request-ID.
Updating an image
- Test the new pinned image in staging using a separate cache and test sources.
- Keep the previous image digest and working configuration.
- Update
ZORKA_IMAGE, rundocker compose pull, thendocker compose up -d. - Verify
/ready, license status, WebP/AVIF processing and cache behavior.
To roll back, restore the previous image and compatible configuration. Do not delete the installation volume; replacing it creates a different installation identity for licensing.
What to back up
Back up source images, configuration and your activation key in protected storage. Preserve the installation volume. Cache data can be rebuilt from sources, but losing it increases warm-up load.