ansible-role-minio/templates/minio-docker-compose.yml.j2

54 lines
1.4 KiB
Plaintext
Raw Normal View History

2021-11-08 12:23:34 +01:00
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 %}