Skip to main content

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​

  1. Test the new pinned image in staging using a separate cache and test sources.
  2. Keep the previous image digest and working configuration.
  3. Update ZORKA_IMAGE, run docker compose pull, then docker compose up -d.
  4. 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.