services: server: build: . ports: - "127.0.0.1:8080:8080" environment: OT_PUBLIC_URL: https://track.example.com # Only the reverse proxy reaches the published port, so its X-Forwarded-For header can be trusted. OT_TRUSTED_PROXY: "true" OT_RETENTION_DAYS: 30 volumes: - ./data:/data # The image has no HTTP client, so bash talks HTTP itself. healthcheck: test: ["CMD", "bash", "-c", 'exec 3<>/dev/tcp/127.0.0.1/8080 && printf "GET /healthz HTTP/1.0\r\n\r\n" >&3 && head -1 <&3 | grep -q " 200 "'] interval: 30s