-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.oidc.yaml
90 lines (89 loc) · 2.66 KB
/
docker-compose.oidc.yaml
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
version: "3.9"
services:
mysql:
image: mysql:8.0
restart: on-failure
environment:
MYSQL_DATABASE:
MYSQL_USER:
MYSQL_PASSWORD:
MYSQL_ROOT_PASSWORD:
KEYCLOAK_DATABASE:
KEYCLOAK_DB_USER:
KEYCLOAK_DB_PASSWORD:
ports:
- "${MYSQL_HOST_PORT:-127.0.0.1:3306}:3306"
volumes:
- ${MYSQL_VOLUME}:/var/lib/mysql
- ./init:/docker-entrypoint-initdb.d
minio:
image: minio/minio:RELEASE.2022-06-20T23-13-45Z
restart: on-failure
environment:
MINIO_ROOT_USER: "${MINIO_ACCESS_KEY}"
MINIO_ROOT_PASSWORD: "${MINIO_SECRET_KEY}"
MINIO_REGION_NAME:
MINIO_UPDATE: "off"
ports:
- "${MINIO_HOST_PORT:-127.0.0.1:9000}:9000"
- "${CONSOLE_HOST_PORT:-127.0.0.1:9090}:9090"
volumes:
- ${MINIO_VOLUME}:/data
command: server /data --console-address ":9090"
app:
build: flask
image: ghcr.io/ccmbioinfo/stager:dev
entrypoint:
[
"./utils/wait-for-it.sh",
"mysql:3306",
"--timeout=0",
"--",
"./utils/wait-for-it.sh",
"keycloak:8080",
"--timeout=0",
"--",
"./utils/run.sh",
]
command: ["--host=0.0.0.0"]
environment:
ST_SECRET_KEY:
ST_DATABASE_URI: "mysql+pymysql://${MYSQL_USER}:${MYSQL_PASSWORD}@mysql/${MYSQL_DATABASE}"
MINIO_ENDPOINT: minio:9000
MINIO_ACCESS_KEY:
MINIO_SECRET_KEY:
MINIO_REGION_NAME:
ENABLE_OIDC: "true"
OIDC_CLIENT_ID:
OIDC_CLIENT_SECRET:
OIDC_WELL_KNOWN: "http://keycloak:8080/auth/realms/ccm/.well-known/openid-configuration"
OIDC_PROVIDER: "keycloak"
KEYCLOAK_HOST: "http://keycloak:8080"
KEYCLOAK_USER:
KEYCLOAK_PASSWORD:
FRONTEND_HOST: "${FRONTEND_HOST:-http://localhost:3000}"
ports:
- "${FLASK_HOST_PORT:-127.0.0.1:5000}:5000"
depends_on:
- mysql
- minio
- keycloak
volumes:
- ./flask:/usr/src/stager
keycloak:
image: quay.io/keycloak/keycloak:latest
environment:
DB_VENDOR: MYSQL
DB_ADDR: mysql
DB_DATABASE: "${KEYCLOAK_DATABASE}"
DB_USER: "${KEYCLOAK_DB_USER}"
DB_PASSWORD: "${KEYCLOAK_DB_PASSWORD}"
KEYCLOAK_USER:
KEYCLOAK_PASSWORD:
KEYCLOAK_FRONTEND_URL: "http://localhost:8080/auth"
# Uncomment the line below if you want to specify JDBC parameters. The parameter below is just an example, and it shouldn't be used in production without knowledge. It is highly recommended that you read the MySQL JDBC driver documentation in order to use it.
#JDBC_PARAMS: "connectTimeout=30000"
ports:
- "${KEYCLOAK_HOST_PORT:-127.0.0.1:8080}:8080"
depends_on:
- mysql