#11861·coolify

[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`

Author: 4maticCreated Sep 16, 2026Updated Sep 16, 2026

Description and Error Message

Since Coolify bumped Sentinel to 1.0.1 (versions.jsonsentinel.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/volumes plus any bind-mount roots — and point HOST_MOUNT_PREFIX at them (e.g. /host). Inaccessible paths contribute 0 with a warning. … or set STORAGE_VOLUMES_ENABLED=false to 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:

https://github.com/coollabsio/coolify/blob/054c560cbdc578836ddfa95d8085761d6733e7c7/app/Actions/Server/StartSentinel.php#L28-L52

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:

  1. StartSentinel.php mounts /var/lib/docker/volumes (and ideally /data/coolify) read-only into the container and sets HOST_MOUNT_PREFIX, so the storage collector actually works; or
  2. StartSentinel.php passes STORAGE_VOLUMES_ENABLED=false until (1) is implemented.

Steps to Reproduce

  1. Any Coolify 4.3.21 server with Sentinel enabled (metrics on), Sentinel auto-updated to 1.0.1.
  2. 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.
  3. docker inspect coolify-sentinel --format '{{range .Config.Env}}{{println .}}{{end}}' → no HOST_MOUNT_PREFIX, no STORAGE_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".