-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
128 lines (119 loc) · 3.17 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
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
121
122
123
124
125
126
127
128
version: '3.11'
services:
api:
image: registry.gitlab.com/tibhannover/orkg/orkg-backend
environment:
SPRING_DATASOURCE_URL: 'jdbc:postgresql://postgres/postgres'
SPRING_NEO4J_URI: 'bolt://neo4j:7687'
SPRING_PROFILES_ACTIVE: development
#ORKG_SIMCOMP_HOST: 'http://simcomp:4321' # defaults to https://orkg.org/simcomp
JDK_JAVA_OPTIONS: >-
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9090
-Dcom.sun.management.jmxremote.rmi.port=9090
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
JAVA_TOOL_OPTIONS: >-
-agentlib:jdwp=transport=dt_socket,address=*:9999,server=y,suspend=n
ports:
- '127.0.0.1:8080:8080'
#- '::1:8080:8080'
- '127.0.0.1:9090:9090' # JMX
- '127.0.0.1:9999:9999' # Remote debugging
networks:
- auth
- mail
- database
- rest-api
- simcomp
depends_on:
neo4j:
condition: service_healthy
postgres:
condition: service_healthy
neo4j:
image: neo4j:4.4-community
ports:
- '127.0.0.1:7474:7474' # HTTP
#- '::1:7474:7474'
- '127.0.0.1:7687:7687' # BOLT
#- '::1:7687:7687'
environment:
NEO4JLABS_PLUGINS: '["apoc"]'
NEO4J_AUTH: none
NEO4J_dbms_mode: SINGLE
NEO4J_dbms_default__database: orkg
NEO4J_dbms_memory_heap_max__size: 4G
NEO4J_dbms_transaction_timeout: 30s
healthcheck:
test: [ "CMD", "/var/lib/neo4j/bin/cypher-shell", "-u", "$${NEO4J_USERNAME}", "-p", "$${NEO4J_PASSWORD}", "MATCH () RETURN count(*) as count" ]
interval: 5s
timeout: 10s
retries: 10
networks:
- database
volumes:
- 'neo4j-data:/data'
postgres:
image: postgres:11
expose:
- '5432'
ports:
- '127.0.0.1:5432:5432'
#- '::1:5432:5432'
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
PGDATA: /var/lib/postgresql/data/pgdata
healthcheck:
test: [ "CMD-SHELL", "pg_isready", "-U", "$$POSTGRES_USER" ]
interval: 5s
timeout: 10s
retries: 10
networks:
- database
volumes:
- 'postgres-data:/var/lib/postgresql/data/pgdata'
keycloak:
image: quay.io/keycloak/keycloak:13.0.1
ports:
- 127.0.0.1:8888:8080 # Port re-mapped to prevent conflict with API
environment:
KEYCLOAK_USER: admin
KEYCLOAK_PASSWORD: admin
DB_VENDOR: H2
networks:
- auth
- mail
# Mail server. Can be used in Keycloak to test mail flows.
mailhog:
image: mailhog/mailhog
ports:
# - 127.0.0.1:1025:1025 # SMTP
- 127.0.0.1:8025:8025 # User interface
networks:
- mail
debughost:
profiles:
- debug
image: buildpack-deps:curl
stdin_open: true
tty: true
networks:
- auth
- database
- mail
- rest-api
- simcomp
networks:
auth:
database:
mail:
rest-api:
simcomp:
# Uncomment the following lines if you want to test against a local SimComp instance:
#name: orkg-simcomp-api_orkg_simcomp_api
#external: true
volumes:
neo4j-data:
postgres-data: