-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathdocker-compose.cluster.yaml
120 lines (109 loc) · 3.02 KB
/
docker-compose.cluster.yaml
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
version: '3.5'
services:
reverse-proxy:
image: traefik:v2.8
container_name: olahds_reverse_proxy
command:
- "--providers.docker=true"
- "--entrypoints.web.address=:80"
- "--providers.docker.exposedByDefault=false"
ports:
- "80:80"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
networks:
- olahd
olahds_backend:
image: ghcr.io/subugoe/olahd_backend:${OLAHD_BACKEND_IMAGE_TAG}
ports:
- "8080:8080"
expose:
- "8080"
env_file:
- .env
labels:
- "traefik.enable=true"
- "traefik.http.routers.olahds_backend.entrypoints=web"
- "traefik.http.routers.olahds_backend.rule=PathPrefix(`/api`)"
- "traefik.http.routers.olahds_backend.middlewares=stripprefix_api"
- "traefik.http.middlewares.stripprefix_api.stripprefix.prefixes=/api"
- "traefik.http.routers.olahds_backend_export.entrypoints=web"
- "traefik.http.routers.olahds_backend_export.rule=PathPrefix(`/export`)"
volumes:
- ./src/main/resources/:/config/
olahds_indexer:
volumes:
- ./cfg/cluster/app.env:/etc/env/app.env
- ./cfg/cluster/app-static.env:/etc/env/app-static.env
- ./cfg/cluster/commons.env:/etc/env/commons.env
- ./cfg/cluster/commons-static.env:/etc/env/commons-static.env
- ./cfg/cluster/iiif.env:/etc/env/iiif.env
olahds_web_notifier:
volumes:
- ./cfg/cluster/app.env:/etc/env/app.env
- ./cfg/cluster/app-static.env:/etc/env/app-static.env
- ./cfg/cluster/commons.env:/etc/env/commons.env
- ./cfg/cluster/commons-static.env:/etc/env/commons-static.env
- ./cfg/cluster/iiif.env:/etc/env/iiif.env
networks:
olahd:
aliases:
- web
olahds_mongo:
image: mongo:4.0.10
container_name: olahds_mongo
command: mongod
ports:
- "27017:27017"
env_file: .env
volumes:
- ~/olahd-data/mongodb-data:/data/db
networks:
olahd:
aliases:
- mongo
olahds_redis:
image: redis:6-alpine
command: redis-server --appendonly yes
container_name: olahds_redis
restart: on-failure
ports:
- "8442:6379"
volumes:
- redisdata:/data/
networks:
olahd:
aliases:
- redis
olahds_search:
build:
context: ./docker/search
container_name: olahds_search
volumes:
- ./docker/search/config/stopwords.txt:/usr/share/elasticsearch/config/stopwords.txt:ro
- es_data:/usr/share/elasticsearch/data
ports:
- "9200:9200"
- "9300:9300"
healthcheck:
test: ["CMD", "curl", "--silent", "--fail", "http://localhost:9200/_cat/health"]
interval: 30s
timeout: 60s
retries: 300
environment:
- discovery.type=single-node
networks:
olahd:
aliases:
- es
- search
networks:
olahd:
name: olahd
driver: bridge
driver_opts:
com.docker.network.driver.mtu: 1450
volumes:
redisdata:
es_data:
# TODO has to be chanched to container external storage