-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
120 lines (109 loc) · 3.08 KB
/
docker-compose.yml
File metadata and controls
120 lines (109 loc) · 3.08 KB
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
services:
#####
# reverse proxy for the whole environment
#####
nginx:
image: nginx:1.29.4-alpine
network_mode: host
volumes:
- ./dev/resources/nginx.conf:/etc/nginx/nginx.conf:ro
#####
# required services from the data-fair stack
#####
simple-directory:
profiles:
- dev
- test
image: ghcr.io/data-fair/simple-directory:master
network_mode: host
depends_on:
- mongo
environment:
- ADMINS=["superadmin@test.com"]
- CIPHER_PASSWORD=dev
- CONTACT=contact@test.com
- MANAGE_DEPARTMENTS=true
- MONGO_URL=mongodb://localhost:27017/simple-directory
- OBSERVER_ACTIVE=false
- PUBLIC_URL=http://localhost:5600/simple-directory
- IDENTITIES_WEBHOOKS=[{"base":"http://data-fair-events:8080/api/v1/identities","key":"secret-identities"},{"base":"http://localhost:5600/catalogs/api/identities","key":"secret-identities"}]
- STORAGE_TYPE=file
# When we test permissions, we need to authenticate many users from the same IP.
- AUTHRATELIMIT_ATTEMPTS=500
- AUTHRATELIMIT_DURATION=30
volumes:
- ./dev/resources/users.json:/app/data/users.json
- ./dev/resources/organizations.json:/app/data/organizations.json
data-fair:
profiles:
- dev
- test
image: ghcr.io/data-fair/data-fair:master
restart: on-failure:10
network_mode: host
depends_on:
mongo:
condition: service_started
elasticsearch:
condition: service_healthy
environment:
- PORT=8081
- MONGO_URL=mongodb://localhost:27017/data-fair
- DIRECTORY_URL=http://localhost:5600/simple-directory
- PRIVATE_EVENTS_URL=http://localhost:8088
- PRIVATE_DIRECTORY_URL=http://localhost:8080
- PUBLIC_URL=http://localhost:5600/data-fair
- WS_PUBLIC_URL=ws://localhost:5600/data-fair
- OBSERVER_ACTIVE=false
- PRIVATE_CATALOGS_URL=http://localhost:5600/catalogs
- SECRET_CATALOGS=secret-catalogs
#####
# optional services
#####
events:
profiles:
- dev
image: ghcr.io/data-fair/events:main
network_mode: host
environment:
- PORT=8088
- PRIVATE_DIRECTORY_URL=http://localhost:5600/simple-directory
- SECRET_IDENTITIES=secret-identities
- SECRET_EVENTS=secret-events
- SECRET_SENDMAILS=secret-sendmails
- OBSERVER_ACTIVE=false
#####
# db and search engine
#####
elasticsearch:
profiles:
- dev
- test
image: ghcr.io/data-fair/elasticsearch:7.x
ports:
- 9200:9200
environment:
- discovery.type=single-node
- xpack.security.enabled=false
- ES_JAVA_OPTS=-Xms128m -Xmx128m -server
- ES_HEAP_SIZE=128m
volumes:
- elasticsearch-data:/usr/share/elasticsearch/data
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9200"]
start_period: 10s
timeout: 5s
interval: 2s
retries: 50
mongo:
profiles:
- dev
- test
image: mongo:4.2
ports:
- 27017:27017
volumes:
- mongo-data:/data/db
volumes:
elasticsearch-data:
mongo-data: