Skip to content

chore(compose): replace the MinIO image by pgsty/silo in the compose stacks (#606) - #607

Merged
Samuel Hassine (SamuelHassine) merged 1 commit into
masterfrom
chore/silo-object-storage
Sep 12, 2026
Merged

Samuel Hassine (SamuelHassine) merged 1 commit into
masterfrom
chore/silo-object-storage

Conversation

@SamuelHassine

@SamuelHassine Samuel Hassine (SamuelHassine) commented Sep 12, 2026

Copy link
Copy Markdown
Member

Proposed changes

The minio/minio image can no longer be pulled: the upstream MinIO repository was archived on 24 April 2026 (the community edition is now source-only), and Docker Hub has since removed the minio/minio and minio/mc repositories altogether - every tag answers 404 and docker pull fails with pull access denied for minio/minio. Every fresh deployment or CI run of a stack that still references these images is broken today.

Following OpenCTI-Platform/opencti#18239, the stack moves to Silo, the community-maintained fork of the MinIO server published by Pigsty (pgsty/silo on Docker Hub, amd64 and arm64). Silo keeps the S3 API, the MINIO_* variables, the server /data --console-address command, the /minio/health/live route, the bundled mc client (so mc ready local healthchecks keep working) and the on-disk format unchanged, so an existing data volume is reused as is.

The latest tag is used on purpose: the MinIO-style dated release tags are not tracked anymore, and the whole Filigran ecosystem is aligned on pgsty/silo:latest (and pgsty/mc:latest for the client).

  • docker-compose.yml, docker-compose.opensearch.yml: minio/minio:latest becomes pgsty/silo:latest on the minio service;
  • docker-compose.dev.yml: same change on opencti-dev-minio;
  • .env.sample: the comment that named MinIO as the object storage of the stack now names Silo.

Service and container names (minio, opencti-dev-minio), ports, credentials, server /data command and mc ready local healthcheck are untouched, so MINIO__ENDPOINT=minio, the XTM One S3_ENDPOINT=minio:9000 settings and existing .env files keep working as they are. An existing s3data volume is reused as is (same on-disk format).

Related issues

How to test this PR

cp .env.sample .env
docker compose up -d minio
docker compose ps minio            # healthy
curl -f http://localhost:9000/minio/health/live

Then start the full stack and upload a file on any entity: it lands in the bucket exactly as before.

Verified locally with Docker 29.6 on pgsty/silo:RELEASE.2026-09-03T13-18-01Z (the current latest) with the exact compose settings of the stack: the container reaches healthy through mc ready local, /minio/health/live and the console on 9001 answer 200, and a bucket create / upload / read round trip works with pgsty/mc. The image ships /usr/bin/mc, /usr/bin/mcli and /usr/bin/curl, so both healthcheck styles used across the Filigran stacks are supported.

Checklist

  • I consider the submitted work as finished
  • I tested the code for its functionality
  • I added/updated the relevant documentation

…stacks (#606)

The minio/minio image can no longer be pulled from Docker Hub: the upstream
repository was archived on 24 April 2026 and Docker Hub has since removed the
minio/minio and minio/mc repositories (every tag answers 404), which breaks
every fresh deployment of this stack. Silo is the community-maintained fork of
the MinIO server, compatible with the S3 API, the MINIO_* variables, the
server command, the health route, the bundled mc client and the on-disk
format, so the services keep their names, ports, credentials, command and
healthcheck. The latest tag is used to stay aligned with the rest of the
Filigran ecosystem.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Replaces MinIO with pgsty/silo:latest across Compose stacks while preserving service names, endpoints, credentials, and storage.

Changes:

  • Updated object-storage images in three Compose files.
  • Updated .env.sample to reference Silo.
  • Existing healthchecks in two stacks still use unavailable mc.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Summary
docker-compose.yml Uses Silo; critical healthcheck issue: use mcli ready local instead of mc ready local (1 vote).
docker-compose.opensearch.yml Uses Silo; critical healthcheck issue: use mcli ready local instead of mc ready local (1 vote).
docker-compose.dev.yml Uses Silo for development.
.env.sample Updates the object-storage comment.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread docker-compose.opensearch.yml
Comment thread docker-compose.yml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

filigran team Item from the Filigran team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

chore(compose): replace the MinIO image by pgsty/silo in the compose stacks

3 participants