version: '3.6' networks: {% if minio_behind_haproxy %} haproxy-public: external: true {% endif %} {{ minio_docker_network }}: volumes: {% for vol in minio_disk_volumes %} {{ minio_volume_prefix }}/{{ vol }}: {% endfor %} services: {% for i in minio_server_instances %} {{ minio_docker_service_server_name }}{{ i }}: image: {{ minio_docker_server_image }} networks: - {{ minio_docker_network }} {% if minio_behind_haproxy %} - haproxy-public {% endif %} environment: MINIO_ROOT_USER: {{ minio_root_user }} MINIO_ROOT_PASSWORD: {{ minio_root_password }} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] interval: 30s timeout: 20s retries: 3 volumes: {% for vol in minio_disk_volumes %} - {{ minio_volume_prefix }}/{{ vol }}:{{ minio_data_prefix }}{{ vol }} {% endfor %} command: server --console-address ":9001" http://{{ minio_docker_service_server_name }}{1...8}/{{ minio_data_prefix }}{1...2} deploy: mode: replicated replicas: 1 endpoint_mode: dnsrr placement: constraints: - node.role == worker - node.labels.minio == minio{{ i }} restart_policy: condition: on-failure delay: 5s max_attempts: 3 window: 120s logging: driver: 'journald' {% endfor %}