Deprecated: MinIO
Important Notice
⚠️ Important: > MinIO has discontinued further development without prior notice in October 2025. We therefore discourage the further usage of MinIO.
You can find our new info on object storage here: Object Storage →
To migrate away from MinIO, we have created a guide: Migration →
Deprecated MinIO Setup Instructions
Introduction
minIO is a scalable, object-based storage solution with high performance.
In Relution, the resource table can grow very large (e.g., due to stored native apps).
To relieve the database, it is recommended to outsource these app files into an S3 bucket.
The minIO image is a compact, easily configurable Docker container.
⚠️ Important: Include the minIO directory in your backup routine. Without its contents, the operation of the server and device management cannot be ensured.
Preparing the docker-compose.yml
Add a minIO container to your docker-compose.yml:
services:
minio:
image: "quay.io/minio/minio:latest"
restart: always
ports:
- "9001:9001"
expose:
- 9000
environment:
- MINIO_ROOT_USER=%USERNAME%
- MINIO_ROOT_PASSWORD=%PASSWORD%
command: server --console-address ":9001" /data
networks:
relution-network:
aliases:
- minio
volumes:
- ./volumes/minio/data:/data
- Replace
MINIO_ROOT_USERandMINIO_ROOT_PASSWORDwith your own values. - Data will be stored locally under
./volumes/minio/data.
Initial minIO Setup
Start the container and open the minIO web interface: 👉 http://localhost:9001
Log in with your configured credentials.
Perform the following steps:
- Create a new bucket named
relution.
- Create a new bucket named
Configure Relution
Relution must be informed that data will now be stored in the S3 bucket.
Option B: in application.yml
Add this configuration properties to application.yml:
relution:
storage:
resourceStorageType: S3
s3:
customEndpoint: http://minio:9000
accessKey: %ACCESS-KEY-ID%
secretKey: %SECRET-KEY%
bucketName: relution
Replace %ACCESS-KEY-ID% and %SECRET-KEY% with the previously set values MINIO_ROOT_USER=%USERNAME% and MINIO_ROOT_PASSWORD=%PASSWORD%.
Option B: in docker-compose.yml
Add these environment variables to the relution service:
services:
relution:
environment:
- RELUTION_STORAGE_RESOURCESTORAGETYPE=S3
- RELUTION_STORAGE_S3_CUSTOMENDPOINT=http://minio:9000
- RELUTION_STORAGE_S3_ACCESSKEY=%ACCESS-KEY-ID%
- RELUTION_STORAGE_S3_SECRETKEY=%SECRET-KEY%
- RELUTION_STORAGE_S3_BUCKETNAME=relution
Replace %ACCESS-KEY-ID% and %SECRET-KEY% with the previously set values MINIO_ROOT_USER=%USERNAME% and MINIO_ROOT_PASSWORD=%PASSWORD%.
Start the Containers
Pull the images:
docker compose pullStart the containers:
docker compose up -d
- minIO will be ready within a few seconds.
- Relution will automatically start moving content from the
resourcetable into the S3 bucket.
Monitor Progress
You can monitor the copying process with the following command:
docker logs -f docker_relution
Note
⚠️ This process is not reversible (as of Relution 5.31.2).