Skip to main content

min.io (minio, S3 compatible Storage)

PL

version: '3.7'

services:
  minio:
    hostname: minio
    image: quay.io/minio/minio:latest
    command: server /data --console-address ":9001"
    ports:
      - "9000:9000"
      - "9001:9001"
    volumes:
      - data:/data
    environment:
      MINIO_ROOT_USER: minio-admin
      MINIO_ROOT_PASSWORD: Unmo..........tude0
    healthcheck:
      test: ["CMD", "mc", "ready", "local"]
      interval: 5s
      timeout: 5s
      retries: 5

volumes:
  data:

das oben ist eine gekürzte Variante hiervon:

https://github.com/minio/minio/blob/master/docs/orchestration/docker-compose/docker-compose.yaml

also von

version: '3.7'

# Settings and configurations that are common for all containers
x-minio-common: &minio-common
  image: quay.io/minio/minio:latest
  command: server --console-address ":9001" http://minio{1...2}/data{1...2}
  expose:
    - "9000"
    - "9001"
  # environment:
    # MINIO_ROOT_USER: minioadmin
    # MINIO_ROOT_PASSWORD: minioadmin
  healthcheck:
    test: ["CMD", "mc", "ready", "local"]
    interval: 5s
    timeout: 5s
    retries: 5

# starts 2 docker containers running minio server instances.
# using nginx reverse proxy, load balancing, you can access
# it through port 9000.
services:
  minio1:
    <<: *minio-common
    hostname: minio1
    volumes:
      - data1-1:/data1
      - data1-2:/data2

  minio2:
    <<: *minio-common
    hostname: minio2
    volumes:
      - data2-1:/data1
      - data2-2:/data2

#  nginx:
#    image: nginx:1.19.2-alpine
#    hostname: nginx
#    volumes:
#      - ./nginx.conf:/etc/nginx/nginx.conf:ro
#    ports:
#      - "9000:9000"
#      - "9001:9001"
#    depends_on:
#      - minio1
#      - minio2

## By default this config uses default local driver,
## For custom volumes replace with volume driver configuration.
volumes:
  data1-1:
  data1-2:
  data2-1:
  data2-2:

ALT:

https://min.io/docs/minio/container/index.html

https://hub.docker.com/r/bitnami/minio

version: '3.8'
  
services:
  minio:
    restart: unless-stopped
    image: 'bitnami/minio:latest'
    ports:
      - '9000:9000'
      - '9001:9001'
    environment:
      - MINIO_ROOT_USER=minio-admin
      - MINIO_ROOT_PASSWORD=MEIN...PASSWORT
    networks:
      - praxistool-nw
    volumes:
      - buckets:/bitnami/minio/data
      - data:/data
      - certs:/certs
#  myapp:
#    image: 'YOUR_APPLICATION_IMAGE'
#    networks:
#      - app-tier
#    environment:
#      - MINIO_SERVER_ACCESS_KEY=minio-access-key
#      - MINIO_SERVER_SECRET_KEY=minio-secret-key

volumes:
  data:
  certs:
  buckets:

networks:
  praxistool-nw:
    driver: bridge

oder eine Variante, eine Hetzner Storage Box einzubinden:
DIE FOLGENDE IST EINE ALTE VARIANTE! BESSER NICHT CIFS DIREKT IM CONTAINER MOUNTEN, SONDERN MIT FSTAB IM DOCKER HOST, SIEHE
https://wiki.folkerts.it/books/docker/page/hetzner-storage-box-uber-samba-einbinden 

version: '3.8'
  
services:
  minio:
    restart: unless-stopped
    image: 'bitnami/minio:latest'
    ports:
      - '9000:9000'
      - '9001:9001'
    environment:
      - MINIO_ROOT_USER=admin
      - MINIO_ROOT_PASSWORD=Unude0
    networks:
      - praxistool-nw
    volumes:
      - hetzner_storagebox_minio:/bitnami/minio/data
      - data:/data
      - certs:/certs


volumes:
  data:
  certs:
  hetzner_storagebox_minio:
    driver: local
    driver_opts:
      type: cifs
      o: "username=u4b1,password=zpp,uid=1001,gid=1001,file_mode=0777,dir_mode=0777,vers=3.1.1,seal"
      device: "//u4b1.your-storagebox.de/u4b1/dockervolume_minio"

networks:
  praxistool-nw:
    driver: bridge