-
Notifications
You must be signed in to change notification settings - Fork 4
/
docker-compose.yaml
89 lines (88 loc) · 2.66 KB
/
docker-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
version: "3"
services:
app:
image: ${APP_IMAGE:-ghcr.io/juliaaano/quarkus:latest}
ports:
- "50101:8080"
environment:
QUARKUS_LOG_CONSOLE_JSON: "false"
QUARKUS_DATASOURCE_USERNAME: quarkus
QUARKUS_DATASOURCE_PASSWORD: password
QUARKUS_DATASOURCE_JDBC_URL: jdbc:postgresql://postgresql:5432/quarkusdb
MP_JWT_VERIFY_PUBLICKEY_LOCATION: http://keycloak:8080/realms/quarkus/protocol/openid-connect/certs
PETS_API_MP_REST_URL: http://mockserver:1080/
keycloak:
image: quay.io/keycloak/keycloak:22.0.1
command:
[
"start-dev",
"--import-realm"
]
ports:
- "50102:8080"
environment:
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: admin
volumes:
- type: bind
source: ./config/keycloak-realm.json
target: /opt/keycloak/data/import/keycloak-realm.json
postgresql:
image: registry.redhat.io/rhel9/postgresql-15:1-19
ports:
- "50103:5432"
environment:
POSTGRESQL_USER: quarkus
POSTGRESQL_PASSWORD: password
POSTGRESQL_DATABASE: quarkusdb
pgadmin:
image: registry.hub.docker.com/dpage/pgadmin4
ports:
- "50104:80"
environment:
PGADMIN_DEFAULT_EMAIL: [email protected]
PGADMIN_DEFAULT_PASSWORD: password
volumes:
- type: bind
source: ./config/postgresql-servers.json
target: /pgadmin4/servers.json
liquibase:
image: docker.io/liquibase/liquibase:4.23.1-alpine
command:
[
"--url=jdbc:postgresql://postgresql:5432/quarkusdb",
"--username=quarkus",
"--password=password",
"--defaultsFile=/liquibase/changelog/liquibase.properties",
"--changeLogFile=db.changelog-master.xml",
"--logLevel=info",
"update"
]
volumes:
- type: bind
source: ./liquibase
target: /liquibase/changelog
postman:
image: docker.io/postman/newman:5.3.0-alpine
command: run quarkus.postman_collection.json --verbose --color on --env-var "baseUrl=${QUARKUS_APP_HOST:-http://host.docker.internal:8080}"
volumes:
- type: bind
source: ./postman
target: /etc/newman
mockserver:
image: docker.io/mockserver/mockserver:mockserver-5.11.2
ports:
- 50109:1080
environment:
MOCKSERVER_PROPERTY_FILE: /config/mockserver.properties
MOCKSERVER_INITIALIZATION_JSON_PATH: /config/initializer.json
volumes:
- type: bind
source: ./config/mockserver.properties
target: /config/mockserver.properties
- type: bind
source: ./config/mockserver-initializer.json
target: /config/initializer.json
networks:
default:
name: quarkus