Files
minio/docker-compose.yml
T
2026-02-22 17:10:22 +03:00

64 lines
2.2 KiB
YAML

services:
minio:
image: quay.io/minio/minio:latest
container_name: minio
restart: unless-stopped
command: server /data --console-address ":9001"
environment:
# Учетка для веб-интерфейса и API. Смени пароль!
- MINIO_ROOT_USER=${MINIO_ROOT_USER}
- MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD}
# Веб-интерфейс
- MINIO_BROWSER=${MINIO_BROWSER}
# - MINIO_BROWSER_REDIRECT_URL=${MINIO_BROWSER_REDIRECT_URL}
# - MINIO_DOMAIN=${MINIO_DOMAIN}
# Производительность (для N100)
- MINIO_SCANNER_SPEED=${MINIO_SCANNER_SPEED}
- MINIO_ILM_EXPIRY_WORKERS=${MINIO_ILM_EXPIRY_WORKERS}
# Для будущего мониторинга
- MINIO_PROMETHEUS_AUTH_TYPE=${MINIO_PROMETHEUS_AUTH_TYPE}
# Для jwilder/nginx-proxy (чтобы открыть наружу веб-консоль)
# - VIRTUAL_HOST=minio.rustavy.ru # Твой домен для консоли
# - VIRTUAL_PORT=9001 # Порт веб-консоли
# - LETSENCRYPT_HOST=minio.rustavy.ru
# - LETSENCRYPT_EMAIL=zro@mail.ru
volumes:
# Данные MinIO (бакеты и объекты). Храним на /mnt, как и все остальное
- minio_data:/data
ports:
# API порт (9000) пробрасываем на хост, чтобы сервисы (Paperless, Gitea) могли к нему обращаться по имени контейнера.
# Напрямую из интернета его открывать не обязательно, только если нужно.
- "9000:9000"
- "9001:9001"
networks:
- net
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 30s
timeout: 20s
retries: 3
deploy:
resources:
limits:
cpus: '1.0'
memory: 1G
reservations:
cpus: '0.5'
memory: 512M
volumes:
minio_data:
driver: local
driver_opts:
type: none
device: /mnt/minio
o: bind
networks:
net:
external: true