-
Notifications
You must be signed in to change notification settings - Fork 351
/
docker-compose.yml
65 lines (60 loc) · 1.86 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
version: "3.8"
services:
web:
image: "${DHIS2_IMAGE:-dhis2/core-dev:local}"
# Only container ports are specified, as the E2E tests run in parallel in Jenkins and using explicit host ports causes collision
ports:
- "8080" # DHIS2
- "8081" # Debugger: connect using commandline flag -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8081
volumes:
- ./config/dhis2_home/dhis.conf:/opt/dhis2/dhis.conf:ro
environment:
JAVA_OPTS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8081"
depends_on:
db:
condition: service_healthy
redis:
condition: service_started
minio:
condition: service_healthy
db:
image: postgis/postgis:13-3.4-alpine
command: postgres -c max_locks_per_transaction=100
restart: unless-stopped
environment:
POSTGRES_USER: dhis
POSTGRES_DB: dhis
POSTGRES_PASSWORD: &postgres_password dhis
PGPASSWORD: *postgres_password # needed by psql in healthcheck
LC_COLLATE: C
healthcheck:
test: [ "CMD-SHELL", "psql --no-password --quiet --username $$POSTGRES_USER postgres://127.0.0.1/$$POSTGRES_DB -p 5432 --command \"SELECT 'ok'\" > /dev/null" ]
start_period: 120s
interval: 1s
timeout: 3s
retries: 5
redis:
image: redis:5.0.5-alpine
volumes:
- ./config/redis/redis.conf:/usr/local/etc/redis.conf
ports:
- "6379"
minio:
image: quay.io/minio/minio
command: server /data --console-address ":9090"
ports:
- "9000" # minio API
- "9090" # minio UI
healthcheck:
test: [ "CMD", "mc", "ready", "local" ]
interval: 5s
timeout: 5s
retries: 5
environment:
MINIO_ROOT_USER: root
MINIO_ROOT_PASSWORD: dhisdhis
selenium:
image: "selenium/standalone-chrome:latest"
ports:
- "4444"
- "7900"