
MinIO
High-performance, S3 compatible object store
MinIO is a high-performance, S3 compatible object store
The MinIO deployment starts using default root credentials ${ADMIN_USER}:${ADMIN_PASSWORD}
. You can test the deployment using the MinIO Console, an embedded object browser built into MinIO Server.
Point a web browser to https://minio-console.${MYDOMAIN}
and log in with the root credentials. You can use the Browser to create buckets, upload objects, and browse the contents of the MinIO server.
You can also connect using any S3-compatible tool, such as the MinIO Client mc commandline tool. See Test using MinIO Client mc for more information on using the mc commandline tool.
For application developers, see https://min.io/docs/minio/linux/developers/minio-drivers.html to view MinIO SDKs for supported languages.
For example, consider a MinIO deployment behind a proxy https://minio.example.net, https://console.minio.example.net with rules for forwarding traffic on port :9000 and :9001 to MinIO and the MinIO Console respectively
on the internal network. Set MINIO_BROWSER_REDIRECT_URL
to https://console.minio.example.net to ensure the browser receives a valid reachable URL.
Similarly, if your TLS certificates do not have the IP SAN for the MinIO server host, the MinIO Console may fail to validate the connection to the server. Use the MINIO_SERVER_URL environment variable and specify the proxy-accessible hostname of the MinIO server to allow the Console to use the MinIO server API using the TLS certificate.
For example: export MINIO_SERVER_URL="https://minio.example.net"
Compose: https://github.com/minio/minio/blob/master/docs/orchestration/docker-compose/docker-compose.yaml
name: minio
services:
minio:
image: quay.io/minio/minio:latest
container_name: minio
hostname: minio
command: server /data --console-address ":9001"
restart: unless-stopped
environment:
MINIO_ROOT_USER: ${ADMIN_USER}
MINIO_ROOT_PASSWORD: ${ADMIN_PASSWORD}
MINIO_BROWSER_REDIRECT_URL: https://minio-console.${MYDOMAIN}
expose:
- "9000" # S3 API
- "9001" # Console
healthcheck:
test: ["CMD", "mc", "ready", "local"]
interval: 15s
timeout: 5s
retries: 5
volumes:
- ${DOCKER_VOLUMES}/minio:/data
networks:
- proxy
labels:
traefik.enable: true
# S3 API
traefik.http.routers.minio.service: minio
traefik.http.routers.minio.rule: Host(`s3.${MYDOMAIN}`)
traefik.http.routers.minio.middlewares: localaccess@file
traefik.http.services.minio.loadbalancer.server.port: 9000
# Console
traefik.http.routers.minio-console.service: minio-console
traefik.http.routers.minio-console.rule: Host(`minio-console.${MYDOMAIN}`)
traefik.http.routers.minio-console.middlewares: localaccess@file
traefik.http.services.minio-console.loadbalancer.server.port: 9001
homepage.group: Storage
homepage.name: MinIO
homepage.icon: minio.png
homepage.href: https://minio-console.${MYDOMAIN}/
homepage.description: High-performance, S3 compatible object store
networks:
proxy:
external: true