-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yaml.example
103 lines (96 loc) · 2.52 KB
/
docker-compose.yaml.example
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
services:
oidc:
image: ugentlib/mock-oidc-server
restart: unless-stopped
volumes:
- .devcontainer/oidc:/dist/.data
env_file:
- .env
ports:
- "3041:3041"
db:
image: postgres:16-alpine
restart: unless-stopped
volumes:
- dbdata:/var/lib/postgresql/data
environment:
POSTGRES_DATABASE: biblio
POSTGRES_USER: biblio
POSTGRES_PASSWORD: biblio
PGPORT: 3051
# see section on PGDATA in https://hub.docker.com/_/postgres
PGDATA: /var/lib/postgresql/data/pgdata
ports:
- "3051:3051"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U biblio -d biblio"]
interval: 30s
timeout: 10s
retries: 5
# NOTE: Elastic 6.8 doesn't provide an arm64 image. So, we need to use a
# custom image for the time being. Switch to the container below if you are on x86_64.
es:
platform: "linux/arm64"
image: elyalvarado/elasticsearch-arm64:6.8.16
environment:
- http.host=0.0.0.0
- http.port=3061
- ES_JAVA_OPTS=-Xmx1G -Xms1G -server
- discovery.type=single-node
- xpack.ml.enabled=false
- bootstrap.system_call_filter=false
volumes:
- esdata:/usr/share/elasticsearch/data
ulimits:
nofile:
soft: 65536
hard: 65536
command: >
/bin/sh -c "./bin/elasticsearch-plugin list | grep -q analysis-icu
|| ./bin/elasticsearch-plugin install https://artifacts.elastic.co/downloads/elasticsearch-plugins/analysis-icu/analysis-icu-6.8.16.zip;
/usr/local/bin/docker-entrypoint.sh"
ports:
- "3061:3061"
healthcheck:
test: curl -s -f es:3061/_cat/health >/dev/null || exit 1
interval: 30s
timeout: 10s
retries: 5
mongo:
image: mongo
command: --port 3081
ports:
- "3081:3081"
minio:
image: minio/minio:RELEASE.2023-12-09T18-17-51Z
command: server /data -address ":3071" --console-address ":3072"
environment:
MINIO_ROOT_USER: minioadmin
MINIO_ROOT_PASSWORD: minioadmin
volumes:
- miniodata:/data
ports:
- "3071:3071"
- "3072:3072"
healthcheck:
test: ["CMD", "mc", "ready", "local"]
interval: 5s
timeout: 5s
retries: 5
mc:
image: minio/mc
depends_on:
- minio
entrypoint:
- sh
- -c
- |
mc alias set docker http://minio:3071 minioadmin minioadmin
mc mb docker/biblio --ignore-existing
volumes:
dbdata:
driver: local
esdata:
driver: local
miniodata:
driver: local