homeserver/docker-compose/minio/docker-compose.yml.j2
Michael Grote b4860abb6a
All checks were successful
ansible-lint / gitleaks (push) Successful in 4s
ansible-lint / Ansible Lint (push) Successful in 36s
traefik: combine all allowlist into fileprovider (#235)
Reviewed-on: #235
Co-authored-by: Michael Grote <michael.grote@posteo.de>
Co-committed-by: Michael Grote <michael.grote@posteo.de>
2024-11-10 18:07:12 +01:00

42 lines
1.4 KiB
Django/Jinja

services:
minio:
image: minio/minio:latest # TODO: add to renovate; https://github.com/renovatebot/renovate/issues/2438
container_name: minio
restart: unless-stopped
pull_policy: missing
ports:
# - '9000:9000' # S3, nur über traefik
- '9001:9001' # WebUI
networks:
- traefik
volumes:
- data:/data # wird im "command" verwendet/gesetzt
environment:
MINIO_ROOT_USER: "{{ lookup('viczem.keepass.keepass', 'minio/minio_admin_user', 'username') }}"
MINIO_ROOT_PASSWORD: "{{ lookup('viczem.keepass.keepass', 'minio/minio_admin_user', 'password') }}"
command: server /data --console-address ":9001"
healthcheck: # https://github.com/minio/minio/issues/18389
test: ["CMD", "mc", "ready", "local"]
interval: 5s
timeout: 5s
retries: 5
labels:
traefik.enable: true
# s3
traefik.http.routers.minio-s3.service: minio-s3
traefik.http.routers.minio-s3.priority: "10"
traefik.http.routers.minio-s3.rule: Host(`s3.mgrote.net`)
traefik.http.routers.minio-s3.tls: true
traefik.http.routers.minio-s3.tls.certresolver: resolver_letsencrypt
traefik.http.routers.minio-s3.entrypoints: entry_https
traefik.http.services.minio-s3.loadbalancer.server.port: 9000
######## Networks ########
networks:
traefik:
external: true
######## Volumes ########
volumes:
data:
# Doku: https://wiki.mgrote.net/pages/_Technik/software/s3/minio/