Host ports (default)
The worker has no exposed port; it talks to Redis and ClickHouse internally only.
Remap on startup
Checking port conflicts
Persistent volumes
All volumes are named and managed by Docker. They survivedocker compose down but are deleted by docker compose down -v.
Back up
apidata and pgdata before any upgrade. See Backup and restore.
Security posture defaults
The stack uses hardened defaults out of the box:- Read-only root filesystem on
observal-api,observal-worker,observal-web(tmpfs for/tmp). no-new-privilegeson every service.- Memory limits on all services (see Requirements).
- Health checks on Postgres, ClickHouse, Redis, API.
- Bridge network (
observal-net) isolates inter-service traffic.
Internal DNS
Inside the compose network, services resolve each other by service name:
The CLI running on your host machine resolves via
localhost:<host port>.

