-
Notifications
You must be signed in to change notification settings - Fork 21
/
docker-compose.yml
88 lines (86 loc) · 2.51 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
version: '3'
volumes:
mysql_data:
driver: local
services:
db:
image: mysql:8
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
container_name: db
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: keycloak
MYSQL_USER: keycloak
MYSQL_PASSWORD: password
TZ: ${TZ}
ports:
- 3306:3306
keycloak:
image: quay.io/keycloak/keycloak:16.1.1
container_name: keycloak
volumes:
- ./keycloak/account.ftl:/opt/jboss/keycloak/themes/base/account/account.ftl
- ./keycloak/register.ftl:/opt/jboss/keycloak/themes/base/login/register.ftl
environment:
DB_VENDOR: MYSQL
DB_ADDR: db
DB_DATABASE: keycloak
DB_USER: keycloak
DB_PASSWORD: password
KEYCLOAK_USER: admin
KEYCLOAK_PASSWORD: admin
KEYCLOAK_FRONTEND_URL: http://${HOST:-localhost}:8180/auth
DEBUG_PORT: '*:8787'
DEBUG: 'true'
TZ: ${TZ}
ports:
- 8180:8080
- 443:8443
- 8787:8787
healthcheck:
test: '/opt/jboss/keycloak/bin/kcadm.sh config credentials --server http://localhost:8080/auth --realm master --user admin --password admin;/opt/jboss/keycloak/bin/kcadm.sh update realms/master -s registrationAllowed=true -s accountTheme=keycloak || exit 1'
start_period: "30s"
retries: 7
interval: "10s"
depends_on:
- db
easybuggy:
build:
context: .
dockerfile: Dockerfile
container_name: easybuggy
ports:
- 8080:8080
- 9009:9009
depends_on:
keycloak:
condition: service_healthy
environment:
db_url: jdbc:mysql://db:3306/keycloak?useSSL=false
db_class_name: com.mysql.jdbc.Driver
db_platform: mysql
db_username: keycloak
db_password: password
oidc_config_endpoint: http://keycloak:8080/auth/realms/master/.well-known/openid-configuration
oidc_dynamic_client_registration_enabled: 'true'
attacker_app_url: http://${HOST:-localhost}:9999/attacker_app
manage_account_page_url: http://${HOST:-localhost}:8180/auth/realms/master/account/
TZ: ${TZ}
attacker_app:
build: ./attacker_app
container_name: attacker_app
ports:
- 9999:8080
environment:
TZ: ${TZ}
mail:
image: python:3.6-alpine
container_name: mail
ports:
- 1025:1025
command: python -m smtpd -d -n -c DebuggingServer 0.0.0.0:1025
environment:
TZ: ${TZ}