MinIO configuration example¶
About MinIO¶
MinIO is a high performance, distributed object storage system. It is software-defined, runs on industry standard hardware and is 100% open source with the dominant license being GNU AGPL v3.
More information about MinIO¶
How to add MinIO to Qlico?¶
Add the following YAML to the services
section of your docker-compose.yaml
file.
qlico-core/docker-compose.yaml
minio:
image: minio/minio:RELEASE.2024-05-10T01-41-38Z
container_name: qlico-core_minio
command: server /export
environment:
MINIO_ACCESS_KEY: ${MINIO_ACCESS_KEY:-qlicorocks}
MINIO_SECRET_KEY: ${MINIO_SECRET_KEY:-qlicorocks}
volumes:
- minio-data:/export
networks:
- qlico-core
labels:
- "traefik.http.routers.minio.rule=Host(`minio.qlico`)"
- "traefik.http.services.minio.loadbalancer.server.port=9000"
Add the following YAML to the volumes
section of your docker-compose.yaml
file.
qlico-core/docker-compose.yaml
minio-data:
name: qlico-core_minio-data
driver: local
Example in a full docker-compose file¶
This is a large example, so you know where to place the MinIO service and volume.
qlico-core/docker-compose.yaml
---
# Author: Qlico <hello@qlico.dev>
services:
traefik:
image: traefik:v3.0.1
container_name: qlico-core_traefik
command: [ '--providers.docker', '--api.insecure' ]
networks:
- qlico-core
ports:
- 80:80
volumes:
- /var/run/docker.sock:/var/run/docker.sock
labels:
- "traefik.http.routers.traefik.rule=Host(`traefik.qlico`)"
- "traefik.http.services.traefik.loadbalancer.server.port=8080"
minio:
image: minio/minio:RELEASE.2024-05-10T01-41-38Z
container_name: qlico-core_minio
command: server /export
environment:
MINIO_ACCESS_KEY: ${MINIO_ACCESS_KEY:-qlicorocks}
MINIO_SECRET_KEY: ${MINIO_SECRET_KEY:-qlicorocks}
volumes:
- minio-data:/export
networks:
- qlico-core
labels:
- "traefik.http.routers.minio.rule=Host(`minio.qlico`)"
- "traefik.http.services.minio.loadbalancer.server.port=9000"
volumes:
minio-data:
name: qlico-core_minio-data
driver: local
networks:
qlico-core:
driver: bridge
name: qlico-core