-
Notifications
You must be signed in to change notification settings - Fork 17
Expand file tree
/
Copy pathdocker-compose.yaml
More file actions
158 lines (147 loc) · 4.34 KB
/
docker-compose.yaml
File metadata and controls
158 lines (147 loc) · 4.34 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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
# version: '3.8'
# For the variables, create an '.env' file on the same level as this compose file
# In there, declare the variables with your desired values like:
# UCE_CONFIG_PATH=./../uceConfig.json
# JVM_ARGS=-Xmx8g
# ...
services:
uce-fuseki-sparql:
container_name: uce-fuseki-sparql
image: docker.texttechnologylab.org/uce/uce-fuseki-sparql:0.0.1
ports:
- "8030:5430"
volumes:
- ${TDB2_DATA}:/fuseki/databases/${TDB2_ENDPOINT}
environment:
- JAVA_OPTIONS=${JAVA_OPTIONS}
command: --update --tdb2 --port 5430 --loc /fuseki/databases/${TDB2_ENDPOINT} /${TDB2_ENDPOINT}
networks:
- app_net
uce-rag-service:
container_name: uce-rag-service
build:
context: .
dockerfile: ./rag/Dockerfile
ports:
- "8080:5678"
depends_on:
- uce-postgresql-db
networks:
- app_net
uce-web:
container_name: uce-web
build:
context: .
dockerfile: ./uce.portal/uce.web/Dockerfile
ports:
- "8008:4567"
depends_on:
uce-postgresql-db:
condition: service_healthy
networks:
- app_net
volumes:
- "${UCE_CONFIG_PATH}:/app/config/uceConfig.json"
- "./database:/app/database"
command: [
"java",
"--add-opens=java.base/java.util=ALL-UNNAMED",
"--add-opens=java.util/java.base=ALL-UNNAMED",
"-jar",
"./target/webportal-jar-with-dependencies.jar",
"-cf",
"/app/config/uceConfig.json"
]
uce-importer:
container_name: uce-importer
build:
context: .
dockerfile: ./uce.portal/uce.corpus-importer/Dockerfile
depends_on:
uce-postgresql-db:
condition: service_healthy
networks:
- app_net
volumes:
- "./database:/app/database"
# MOUNT HERE ALL UIMA CORPORA INTO THE '/app/input/corpora/' PATH - EXAMPLE BELOW FOR ZOBODAT CORPUS:
# - "./../test_data/corpora/zobodat:/app/input/corpora/zobodat"
command: [
"java",
"-jar",
"./target/importer.jar",
"-srcDir", "/app/input/corpora/",
"-num", "1",
"-t", "${IMPORTER_THREADS}"
]
uce-postgresql-db:
container_name: uce-postgresql-db
image: docker.texttechnologylab.org/uce/uce-postgresql:0.0.1
environment:
POSTGRES_DB: uce
POSTGRES_USER: postgres
POSTGRES_PASSWORD: 1234
ports:
- "8002:5432"
volumes:
#- ./../backups/2025-07-03_BIOfid_Nova-Data/db-data:/var/lib/postgresql/data
- ${POSTGRESQL_CONFIG}:/etc/postgresql.conf
command: -c config_file=/etc/postgresql.conf
networks:
- app_net
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 5s
timeout: 5s
start_interval: 1s
retries: 20
uce-minio-storage:
image: minio/minio
container_name: minio
ports:
- "9000:9000"
- "9001:9001"
environment:
- MINIO_ROOT_USER=admin
- MINIO_ROOT_PASSWORD=12345678
volumes:
- ${MINIO_STORAGE_DATA}:/data
command: server /data --console-address ":9001"
networks:
- app_net
uce-keycloak-auth:
container_name: uce-keycloak-auth
image: quay.io/keycloak/keycloak:26.2.5
ports:
- "8080:8080"
volumes:
- ${KC_REALM_IMPORT_PATH}:/opt/keycloak/data/import/uce-realm.json
command:
- start
- --features=scripts
- --import-realm
- --import-path=/opt/keycloak/data/import/uce-realm.json
environment:
KC_BOOTSTRAP_ADMIN_USERNAME: ${KC_ADMIN_USERNAME}
KC_BOOTSTRAP_ADMIN_PASSWORD: ${KC_ADMIN_PW}
KC_HOSTNAME_STRICT_BACKCHANNEL: true
KC_HOSTNAME_STRICT: false
KC_HTTP_RELATIVE_PATH: /
KC_HTTP_ENABLED: true
KC_HEALTH_ENABLED: true
KC_METRICS_ENABLED: true
extra_hosts:
- "host.docker.internal:host-gateway"
healthcheck:
test: ['CMD-SHELL', '[ -f /tmp/HealthCheck.java ] || echo "public class HealthCheck { public static void main(String[] args) throws java.lang.Throwable { System.exit(java.net.HttpURLConnection.HTTP_OK == ((java.net.HttpURLConnection)new java.net.URL(args[0]).openConnection()).getResponseCode() ? 0 : 1); } }" > /tmp/HealthCheck.java && java /tmp/HealthCheck.java http://localhost:8080/auth/health/live']
interval: 5s
timeout: 5s
retries: 20
networks:
- app_net
networks:
app_net:
driver: bridge
volumes:
pgdata:
minio-data: