Skip to content

chore(compose): replace the MinIO image by pgsty/silo in the XTM suite stack (#43) - #44

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

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

Conversation

@SamuelHassine

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: minio/minio:latest becomes pgsty/silo:latest on the shared minio service;
  • README.md: the shared infrastructure list, the architecture diagram and the .env example now name Silo (S3 object storage) instead of MinIO;
  • .env.sample: the comment that named MinIO as the object storage of the stack now names Silo.

The service name (minio), ports, credentials, server /data command and mc ready local healthcheck are untouched, so the OpenCTI (MINIO__ENDPOINT=minio), OpenAEV (MINIO_ENDPOINT=minio) and 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 suite and upload a file in OpenCTI, a document in OpenAEV and an attachment in XTM One: the three land in their buckets 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

  • The PR title follows the Conventional Commits convention type(scope?): description (#issue)
  • I signed my commits
  • This PR is linked to an issue
  • I consider the submitted work as finished
  • I tested the code for its functionality
  • I added/updated the relevant documentation
  • Where necessary, I refactored code to improve the overall quality

Further comments

Same change as OpenCTI-Platform/docker#607 and OpenAEV-Platform/docker#163; the whole Filigran ecosystem is being moved to pgsty/silo:latest in one pass.

…e stack (#43)

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 shared minio service keeps its name, ports, credentials,
command and healthcheck. The README and .env.sample now name Silo as the
object storage of the stack. The latest tag is used to stay aligned with the
rest of the Filigran ecosystem.
Copilot AI lite review requested due to automatic review settings September 12, 2026 15:55

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 the unavailable MinIO image with pgsty/silo:latest while preserving existing S3 integrations.

Changes:

  • Updates the Compose object-storage image.
  • Renames MinIO references to Silo in documentation and configuration comments.
  • Preserves service names, credentials, healthchecks, and storage compatibility.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Summary
README.md Updates infrastructure and configuration documentation.
docker-compose.yml Uses Silo for shared object storage.
.env.sample Updates the S3 storage comment.

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

chore(compose): replace the MinIO image by pgsty/silo in the XTM suite stack

2 participants