-
Notifications
You must be signed in to change notification settings - Fork 21
/
Copy pathcompose.yaml
107 lines (103 loc) · 3.46 KB
/
compose.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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
services:
redis:
container_name: rmap-redis
image: redis:7.4
command: redis-server --requirepass REconDIS
ports:
- "6379:6379"
volumes:
- ./data-redis:/data
mysql:
container_name: rmap-mysql
image: quay.io/reconmap/rest-api-db:latest
build:
context: ./
dockerfile: docker/mysql/Dockerfile
volumes:
- ./data-mysql:/var/lib/mysql
- ./database:/docker-entrypoint-initdb.d:ro
- ./docker/mysql/overrides.cnf:/etc/mysql/conf.d/overrides.cnf:ro
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: reconmuppet
healthcheck:
test: "mysql -h 127.0.0.1 -u root --password=$$MYSQL_ROOT_PASSWORD mysql -e 'SELECT 1;'"
interval: 5s
timeout: 10s
retries: 3
keycloak:
image: quay.io/reconmap/keycloak-custom:latest
command: "start --hostname=http://localhost:8080 --proxy-headers xforwarded --http-enabled true --import-realm"
environment:
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: admin
KEYCLOAK_WELCOME_THEME: "reconmap-theme"
KEYCLOAK_DEFAULT_THEME: "reconmap-theme"
JAVA_OPTS_APPEND: ""
KC_DB_VENDOR: MYSQL
KC_DB: mysql
KC_DB_URL: "jdbc:mysql://rmap-mysql/keycloak"
KC_DB_DATABASE: keycloak
KC_DB_USERNAME: keycloaker
KC_DB_PASSWORD: keycloaked
KC_LOG_LEVEL: INFO
VAR_ADMIN_CLI_SECRET: "xxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyy"
VAR_WEB_CLIENT_URL: "http://localhost:5500"
ports:
- "8080:8080"
healthcheck:
test: ["CMD-SHELL", "exec 3<>/dev/tcp/127.0.0.1/9000;echo -e 'GET /health/ready HTTP/1.1\r\nhost: http://localhost\r\nConnection: close\r\n\r\n' >&3;if [ $? -eq 0 ]; then echo 'Healthcheck Successful';exit 0;else echo 'Healthcheck Failed';exit 1;fi;"]
interval: 30s
timeout: 10s
retries: 3
depends_on:
mysql:
condition: service_healthy
api:
container_name: rmap-api
image: quay.io/reconmap/rest-api:latest
build:
context: ./
dockerfile: docker/api/Dockerfile
volumes:
- "./config.json:/var/www/webapp/config.json"
- "./logs:/var/www/webapp/logs"
- "./data:/var/www/webapp/data"
- "./composer.json:/var/www/webapp/composer.json"
- "./composer.lock:/var/www/webapp/composer.lock"
- "./vendor:/var/www/webapp/vendor"
- "./public:/var/www/webapp/public"
- "./docs/openapi.yaml:/var/www/webapp/public/docs/openapi.yaml"
- "./docs/schemas/:/var/www/webapp/public/docs/schemas/"
- "./src:/var/www/webapp/src"
- "./packages:/var/www/webapp/packages"
- "./resources:/var/www/webapp/resources"
- "./tests:/var/www/webapp/tests"
- "./phpunit.xml.dist:/var/www/webapp/phpunit.xml.dist"
- "./run-tests.sh:/var/www/webapp/run-tests.sh"
- "./database:/var/www/webapp/database"
ports:
- "5510:5510"
environment:
REDIS_HOST: redis
REDIS_PORT: 6379
REDIS_USER: default
REDIS_PASSWORD: REconDIS
depends_on:
mysql:
condition: service_healthy
agent:
container_name: rmap-agent
image: quay.io/reconmap/agent:latest
ports:
- "5520:5520"
environment:
RMAP_KEYCLOAK_HOSTNAME: "http://keycloak:8080"
RMAP_AGENT_CLIENT_ID: "admin-cli"
RMAP_AGENT_CLIENT_SECRET: "xxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyy"
RMAP_REST_API_URL: "http://api:5510"
VALID_ORIGINS: http://localhost:5510
REDIS_HOST: redis
REDIS_PORT: 6379
REDIS_PASSWORD: REconDIS