[Bug]: Sentinel 1.0.1 storage collector logs `cannot stat mount source` WARN for every volume every 15 min — Coolify starts it without `HOST_MOUNT_PREFIX` / `STORAGE_VOLUMES_ENABLED=false`
Description and Error Message
Since Coolify bumped Sentinel to 1.0.1 (versions.json → sentinel.version: 1.0.1, rolled out to our servers on 2026-09-15/16 ~00:00 UTC), every coolify-sentinel container emits a burst of WARN lines every 900 s:
WARN collector::storage: storage: cannot stat mount source path=/var/lib/docker/volumes/coolify-db/_data error=No such file or directory (os error 2)
WARN collector::storage: storage: cannot stat mount source path=/var/lib/docker/volumes/coolify-redis/_data error=No such file or directory (os error 2)
WARN collector::storage: storage: cannot stat mount source path=/data/coolify/ssh error=No such file or directory (os error 2)
WARN collector::storage: storage: cannot stat mount source path=/data/coolify/services error=No such file or directory (os error 2)
...
One line per volume / bind mount of every container on the host, on every STORAGE_VOLUMES_REFRESH_RATE_SECONDS (900 s) cycle. On a small server with a handful of apps that is ~50–150 WARN/h; on our busier workers it's several thousand WARN/h. Any log-based alerting (Loki/Alloy/Promtail level=warn|error rate rules) fires permanently.
Root cause: Sentinel ≥ 1.0 (Rust rewrite, coollabsio/sentinel#38) added a storage collector (coollabsio/sentinel#39) that du-walks each container's volume/bind-mount sources on the host filesystem. The Sentinel README documents that this only works if the host paths are mounted into the container and HOST_MOUNT_PREFIX points at them, otherwise STORAGE_VOLUMES_ENABLED=false should be set:
Storage collection & host paths. … To size volumes/bind mounts, mount the host paths (read-only is fine) — typically
/var/lib/docker/volumesplus any bind-mount roots — and pointHOST_MOUNT_PREFIXat them (e.g./host). Inaccessible paths contribute0with a warning. … or setSTORAGE_VOLUMES_ENABLED=falseto skip it. — https://github.com/coollabsio/sentinel/blob/main/README.md
But app/Actions/Server/StartSentinel.php (still true on main @ 054c560) only mounts /var/run/docker.sock and /data/coolify/sentinel:/app/db, and only passes TOKEN, DEBUG, PUSH_ENDPOINT, PUSH_INTERVAL_SECONDS, COLLECTOR_ENABLED, COLLECTOR_REFRESH_RATE_SECONDS, COLLECTOR_RETENTION_PERIOD_DAYS:
So the volume walk is enabled by default, can never see any host path, and warns on every single one. The collected volume sizes are also all 0, so the feature is effectively useless as shipped.
Expected Behavior
No spurious WARNs. Either:
StartSentinel.phpmounts/var/lib/docker/volumes(and ideally/data/coolify) read-only into the container and setsHOST_MOUNT_PREFIX, so the storage collector actually works; orStartSentinel.phppassesSTORAGE_VOLUMES_ENABLED=falseuntil (1) is implemented.
Steps to Reproduce
- Any Coolify 4.3.21 server with Sentinel enabled (metrics on), Sentinel auto-updated to 1.0.1.
docker logs --since 1h coolify-sentinel 2>&1 | grep -c "cannot stat mount source"→ non-zero, grows by (number of volumes+bind mounts across all containers) every 15 min.docker inspect coolify-sentinel --format '{{range .Config.Env}}{{println .}}{{end}}'→ noHOST_MOUNT_PREFIX, noSTORAGE_VOLUMES_ENABLED.
Workaround we applied manually: re-create the container with the same flags Coolify generates plus -e STORAGE_VOLUMES_ENABLED=false → log shows volumes_enabled=false, WARNs stop, push: pushing continues normally. This is undone on the next Sentinel upgrade or "Restart Sentinel" in the UI, hence this issue.
Example Repository URL
N/A
Coolify Version
v4.3.21 (Sentinel 1.0.1, docker.io/coollabsio/sentinel:1.0.1)
Are you using Coolify Cloud?
No (self-hosted)
Operating System and Version (self-hosted)
Ubuntu 24.04.4 LTS (multiple servers, all affected)
Additional Information
- Not the same as #11803 (that one is about the local Sentinel port/health).
- Related upstream: coollabsio/sentinel#39 (storage collector), README section "Storage collection & host paths".
Source: coollabsio/coolify