Update compose template to patch vulnerable minio service and include healthchecks #1510
+56
−10
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changes
The image used for minio on docker compose template (
image: "bitnami/minio:latest") is unmaintained and vulnerable to CVE-2025-62506 , so we will be usingghcr.io/coollabsio/miniowhich is Automated docker builds (by Coolify Team) using official minio source code.Added instructions (as comments) for using remote S3-compatible storage
Added healthcheck to all services in the compose
Testing
media serverare working fine. media server docker image is not published onghcr.ioso I couldn't pull the image to test itNotes
3902and3903, so I have set them to default portsminio/minioinstead ofbitnami/minio#1444 by providing a complete and correct implementation for minio.Greptile Summary
This PR addresses a critical security vulnerability (CVE-2025-62506) by replacing the unmaintained
bitnami/minio:latestimage withghcr.io/coollabsio/minio:RELEASE.2025-10-15T17-29-55Z. The changes also standardize MinIO to use default ports (9000 for API, 9001 for console), add comprehensive healthchecks to all services, and include helpful documentation for both local and remote S3 configuration options.cap-web,ps-mysql, andminioservices for better service monitoringIssues identified:
mc ready localcommand which may not be available in the specified image (needs verification or alternative HTTP-based healthcheck)Confidence Score: 4/5
Important Files Changed
Sequence Diagram
sequenceDiagram participant Docker as Docker Engine participant Web as cap-web participant MySQL as ps-mysql participant MinIO as minio participant MediaServer as cap-media-server Note over Docker,MediaServer: Service Startup & Healthcheck Flow Docker->>MySQL: Start MySQL service activate MySQL MySQL-->>Docker: Service running loop Every 10s (after 20s start_period) Docker->>MySQL: mysqladmin ping -h localhost MySQL-->>Docker: pong (healthy) end Docker->>MinIO: Start MinIO service activate MinIO MinIO-->>Docker: Service running loop Every 10s (after 10s start_period) Docker->>MinIO: mc ready local MinIO-->>Docker: ready (healthy) end Docker->>Web: Start cap-web service activate Web Web->>MySQL: Connect to DATABASE_URL Web->>MinIO: Connect to S3_INTERNAL_ENDPOINT (http://minio:9000) Web-->>Docker: Service running loop Every 10s (after 10s start_period) Docker->>Web: wget --spider -q http://127.0.0.1:3000/ Web-->>Docker: HTTP 200 (healthy) end Docker->>MediaServer: Start media-server service activate MediaServer MediaServer-->>Docker: Service running Note over MediaServer: No healthcheck (commented out)