-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
106 lines (97 loc) · 2.12 KB
/
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
version: '3.8'
# Common settings for all MinIO containers
x-minio-common: &minio-common
image: quay.io/minio/minio:latest
command: server --console-address ":9001" http://minio{1...4}/data{1...2}
expose:
- "9000"
- "9001"
environment:
# MINIO_ROOT_USER: ${MINIO_ROOT_USER}
# MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD}
MINIO_BROWSER_REDIRECT_URL: ${MINIO_BROWSER_REDIRECT_URL}
MINIO_BROWSER_REDIRECT: false
# MINIO_BROWSER_LOGIN_ANIMATION: off
healthcheck:
test: ["CMD", "mc", "ready", "local"]
interval: 5s
timeout: 5s
retries: 5
services:
minio1:
<<: *minio-common
hostname: minio1
volumes:
- data1-1:/data1
- data1-2:/data2
networks:
- minio-net
minio2:
<<: *minio-common
hostname: minio2
volumes:
- data2-1:/data1
- data2-2:/data2
networks:
- minio-net
minio3:
<<: *minio-common
hostname: minio3
volumes:
- data3-1:/data1
- data3-2:/data2
networks:
- minio-net
minio4:
<<: *minio-common
hostname: minio4
volumes:
- data4-1:/data1
- data4-2:/data2
networks:
- minio-net
# Internal load balancing using a simple nginx service
loadbalancer:
image: devstroop/dynamic-ngnix:latest
environment:
LISTEN_9000: "minio1:9000,minio2:9000,minio3:9000,minio4:9000"
LISTEN_9001: "minio1:9001,minio2:9001,minio3:9001,minio4:9001"
depends_on:
- minio1
- minio2
- minio3
- minio4
networks:
- minio-net
deploy:
replicas: 1
restart_policy:
condition: unless-stopped
cloudflared:
image: cloudflare/cloudflared:latest
command: tunnel --no-autoupdate run
environment:
TUNNEL_TOKEN: ${CF_TOKEN:?*Tunnel token required!}
depends_on:
- minio1
- minio2
- minio3
- minio4
networks:
- minio-net
deploy:
replicas: ${CF_COUNT:-1}
restart_policy:
condition: unless-stopped
networks:
minio-net:
driver: bridge
volumes:
data1-1:
data1-2:
data2-1:
data2-2:
data3-1:
data3-2:
data4-1:
data4-2: