-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathminio.docker-compose.yml
78 lines (74 loc) · 3.26 KB
/
minio.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
services:
minio:
image: minio/minio
container_name: minio
ports:
- 9000:9000
- 9001:9001
volumes:
- minio-volume:/data
networks:
- scopemarchiver_network
environment:
MINIO_ROOT_USER_FILE: /run/secrets/minio_user
MINIO_ROOT_PASSWORD_FILE: /run/secrets/minio_pass
MINIO_PROMETHEUS_AUTH_TYPE: "public"
MINIO_PROMETHEUS_URL: "http://prometheus:9090"
MINIO_BROWSER_REDIRECT_URL: "http://${HOST}/minio/"
secrets:
- minio_user
- minio_pass
command: server --console-address ":9001" /data
labels:
- "traefik.enable=true"
- "traefik.http.routers.minio.rule=Host(`${HOST}`) && PathPrefix(`/minio`)"
- "traefik.http.middlewares.minio-stripprefix.stripprefix.prefixes=/minio"
- "traefik.http.routers.minio.entrypoints=web"
- "traefik.http.routers.minio.service=minio-web"
- "traefik.http.services.minio-web.loadbalancer.server.port=9001"
- "traefik.http.middlewares.minio-cors.headers.accesscontrolallowmethods=*"
- "traefik.http.middlewares.minio-cors.headers.accesscontrolallowheaders=*"
- "traefik.http.middlewares.minio-cors.headers.accessControlExposeHeaders=ETag,Location,Authorization,Origin,X-Requested-With,X-Request-ID,X-HTTP-Method-Override,Content-Type,Upload-Length,Upload-Offset,Tus-Resumable,Upload-Metadata,Upload-Defer-Length,Upload-Concat,Upload-Complete,Upload-Draft-Interop-Version,x-token"
- "traefik.http.middlewares.minio-cors.headers.accessControlAllowOriginList=*"
- "traefik.http.middlewares.minio-cors.headers.accesscontrolmaxage=100"
- "traefik.http.middlewares.minio-cors.headers.addvaryheader=true"
- "traefik.http.middlewares.minio-headers.headers.customrequestheaders.X-Forwarded-Proto=http"
- "traefik.http.middlewares.minio-headers.headers.customrequestheaders.X-Forwarded-Host=${HOST}/minio"
- "traefik.http.routers.minio.middlewares=minio-stripprefix,minio-headers,minio-cors"
- "traefik.http.routers.minio-api.rule=Host(`${HOST}/minio-api`) && PathPrefix(`/minio-api`)"
- "traefik.http.middlewares.minio-api-stripprefix.stripprefix.prefixes=/minio-api"
- "traefik.http.routers.minio-api.entrypoints=web"
- "traefik.http.routers.minio-api.service=minio-api"
- "traefik.http.routers.minio-api.middlewares=minio-api-stripprefix,minio-headers,minio-cors"
- "traefik.http.services.minio-api.loadbalancer.server.port=9000"
minio-create-bucket:
image: minio/mc
depends_on:
- minio
entrypoint:
- /bin/sh
- -c
- |
export MINIO_USER=$$(cat /var/run/secrets/minio_user)
export MINIO_PASS=$$(cat /var/run/secrets/minio_pass)
/usr/bin/mc alias set local-minio http://minio:9000 $$MINIO_USER $$MINIO_PASS
/usr/bin/mc mb -p local-minio/${MINIO_RETRIEVAL_BUCKET}
/usr/bin/mc mb -p local-minio/${MINIO_LANDINGZONE_BUCKET}
/usr/bin/mc mb -p local-minio/${MINIO_STAGING_BUCKET}
networks:
- scopemarchiver_network
secrets:
- minio_user
- minio_pass
volumes:
minio-volume:
driver: local
networks:
scopemarchiver_network:
name: scopemarchiver_network
driver: bridge
secrets:
minio_user:
file: ./.secrets/miniouser.txt
minio_pass:
file: ./.secrets/miniopass.txt