-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
185 lines (178 loc) · 6.29 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
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
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
services:
api_db:
container_name: idea4rc_ai_api_db
restart: unless-stopped
image: postgres:latest
environment:
- POSTGRES_USER=mad
- POSTGRES_PASSWORD=MAD
- POSTGRES_DB=apidb
- POSTGRES_HOST=idea4rc_ai_api_db
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 5s
timeout: 5s
retries: 5
ports:
- "5434:5432"
volumes:
- pg_data_aiapi:/var/lib/postgresql/data
networks:
- backend
aiapi:
container_name: idea4rc_ai_api
image: ghcr.io/idea4rc/idea4rcaiapi:1.0
#image: idea4rc/eng/idea4rcaiapi:latest
restart: unless-stopped
environment:
- POSTGRES_USER=mad
- POSTGRES_PASSWORD=MAD
- POSTGRES_DB=apidb
- POSTGRES_HOST=idea4rc_ai_api_db
- POSTGRES_PORT=5432
- DROP_DB=False
- DOCKER_REGISTRY_USERNAME=yourRegistryUsernameHere
- DOCKER_REGISTRY_PASSWORD=yourRegistryPasswordHere
#- DOCKER_REGISTRY_URL=https://localhost:5043
#- DOCKER_REGISTRY_DOMAIN=localhost:5043
- DOCKER_REGISTRY_DOMAIN=ghcr.io/idea4rc/envs
- DOCKER_REGISTRY_URL=ghcr.io/idea4rc/envs
- SWAGGER_URL=http://idea4rc_ai_api:5002/api/doc/swagger.json
- IDEA4RCAI_DATA_FOLDER=/idea4rc_data_dir
- IDEA4RCAI_HOST=localhost
#- KEYCLOAK_URL=http://keycloak:8080/realms
- KEYCLOAK_URL=https://keycloak:8443/realms
- KEYCLOAK_SECRET_KEY=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxkXMbuX/3ViwobY07067Nkx0juf4rxExwE4IJCt1rexRlkTmnpc3k6lzhNSA075iamDIREjDPNX+SmCvM0/IYq/oZZ+gW7c2EaQezM0dkxVRJGY4euhKlBrIJPfoYP5CzwN/LIRC1FqHX8tPGUNq652E01vY9K7cQ4WNkr+79GYyLpSDl9Ko7HlBDfwW1LWJ3oKGRRtVxNk2KvYssm2QfBJcVa354XflVB+4Ei0to6ODfL1LHV4eZ/3bwmpc3FgeIMWcGPcEOxxdq2ybmElMvbVvJjExfdTdCT/A78YojdHn+r6WXgGh1xs7Lqzc8RWfF2ykQYOWpt/FecxvuiCm1wIDAQAB
- KEYCLOAK_ADMIN_USERNAME=eng_admin
- KEYCLOAK_ADMIN_PASSWORD=eng_admin
- KEYCLOAK_CLIENT_ID=434adeb9-1826-4487-a6c3-deefa2f56ddb
- KEYCLOAK_CLIENT_ADMINROLE_ID=77a9ff91-814e-4593-b582-f029cf1024d1
- KEYCLOAK_CLIENT_DOCTORROLE_ID=77a9ff91-814e-4593-b582-f029cf1024d1
- KEYCLOAK_CLIENT_RESEARCHROLE_ID=3a78c4c3-6ab9-4ee6-b52c-a4a46c39148d
- DATA_EXTRACTOR_HOST=https://idea4rc_ai_dataextractionjobs:5000
- ADMIN_USERNAME=administrator
- ADMIN_PASSWORD=test123
- PROJECT_NAME=aiapi
- ENVIRONMENT_NETWORK=ai-platform_environment
- DATAEXTRACTOR_NETWORK=ai-platform_dataextractor_backend
#command: sh -c "sleep 60000"
depends_on:
api_db:
condition: service_healthy
ports:
- "5001:5000"
- "8001:8000"
networks:
- backend
- environment
- security_keycloak
- dataextractor_backend
#- registry_net
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- idea4rc_data_dir:/idea4rc_data_dir
dataextractionjobs_db:
container_name: idea4rc_ai_dataextractionjobs_db
restart: unless-stopped
image: postgres:latest
environment:
- POSTGRES_USER=mad
- POSTGRES_PASSWORD=MAD
- POSTGRES_DB=mad
- POSTGRES_HOST=idea4rc_ai_dataextractionjobs_db
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 5s
timeout: 5s
retries: 5
ports:
- "5433:5432"
volumes:
- dataextractionjobs_db:/var/lib/postgresql/data
networks:
- backend
dataextractionjobs:
container_name: idea4rc_ai_dataextractionjobs
image: ghcr.io/idea4rc/dataextractionjob:1.0
#image: idea4rc/eng/dataextractorjob:latest
restart: unless-stopped
environment:
- CAPSULEFHIR_URL=http://eng-fhir-server:8088/fhir
- POSTGRES_USER=mad
- POSTGRES_PASSWORD=MAD
- POSTGRES_DB=mad
- POSTGRES_HOST=idea4rc_ai_dataextractionjobs_db
- POSTGRES_PORT=5432
- DROP_DB=False
- TZ=Europe/Rome
- SWAGGER_URL=http://idea4rc_ai_dataextractionjobs:5002/api/doc/swagger.json
depends_on:
dataextractionjobs_db:
condition: service_healthy
ports:
- "5002:5000"
- "8002:8000"
volumes:
- dataextractionjobs:/idea4rc-ai-dataextractionjobs/src/csvdata
networks:
- backend
- dataextractor_backend
- eng-fhir-server_fhircapsule
idea4rcaigui:
#image: "idea4rc/eng/idea4rcaigui"
image: ghcr.io/idea4rc/idea4rcaigui:1.0
container_name: idea4rcaigui
ports:
- "443:443"
- "80:80"
networks:
- security_keycloak
- environment
- proxy
environment:
DEMO: "false"
VERSION: "{'npm_package_version':'1.0.0'}" #(dev)
SERVER_URL: "https://idea4rc_ai_api:5001" #http://localhost:5001
AUTH_BASE_URL: "https://keycloak:8443"
ENABLE_AUTHENTICATION: "true"
PORTAL_URL: "https://idea4rcaigui"
#FHIR_SERVER_URL: "http://eng-fhir-server:8088/fhir"
FHIR_SERVER_URL: "https://proxy:8043/fhir"
DEFAULT_LANGUAGE: "en-US"
SUPPORTED_LANGUAGES: "en-US;fr-FR"
DOCKER_ENGINE_BASE_URL: "https://proxy:8043/docker-api" #"http://localhost:2375
volumes:
- ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf:ro
- ./nginx/ssl/idea4rcaigui-self-signed.crt:/etc/nginx/ssl/idea4rcaigui-self-signed.crt:ro
- ./nginx/ssl/idea4rcaigui-self-signed.key:/etc/nginx/ssl/idea4rcaigui-self-signed.key:ro
proxy:
container_name: proxy
image: "httpd:alpine3.20"
ports:
- "8008:80"
- "8043:443"
networks:
- proxy
volumes:
- ./proxy/conf/httpd.conf:/usr/local/apache2/conf/httpd.conf
- ./proxy/conf/proxy-html.conf:/usr/local/apache2/conf/extra/proxy-html.conf
- ./proxy/ssl/idea4rcaigui-self-signed.key:/usr/local/apache2/conf/server.key
- ./proxy/ssl/idea4rcaigui-self-signed.crt:/usr/local/apache2/conf/server.crt
volumes:
idea4rc_data_dir:
pg_data_aiapi:
dataextractionjobs_db:
dataextractionjobs:
networks:
proxy:
backend:
environment:
dataextractor_backend:
security_keycloak:
external: true
#registry_net:
#external: true
#temporary networks please remove them when you will know the IP/DNS of the production servers
eng-fhir-server_fhircapsule:
external: true