-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yaml
131 lines (122 loc) · 3.95 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
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
version: "3.9"
services:
kc-container-build:
build:
context: .
dockerfile: dockerfiles/container-build.Dockerfile
container_name: kc_container_build
ports:
- "8080:8080"
- "5005:5005"
networks:
- kc-subnet
environment:
KEYCLOAK_ADMIN: ${KEYCLOAK_ADMIN:-admin}
KEYCLOAK_ADMIN_PASSWORD: ${KEYCLOAK_ADMIN_PASSWORD:-admin}
KC_DB: ${KC_DB:-postgres}
KC_DB_URL: jdbc:postgresql://pg-local/postgres
KC_DB_USERNAME: ${KC_DB_USERNAME:-kc-user}
KC_DB_PASSWORD: ${KC_DB_PASSWORD:-kc-pass}
KC_METRICS_ENABLED: "true"
KC_HEALTH_ENABLED: "true"
KC_HTTP_RELATIVE_PATH: "/auth"
JAVA_OPTS: -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=*:5005
# kafka event listeners
KFK_EVL_SCHEMA_REGISTRY_URL: "http://schema-registry:8081"
KFK_EVL_BOOTSTRAP_SERVERS: "host.docker.internal:9092"
KFK_EVL_TOPIC_NAME: "yuri-potatoq_keycloak_event_listener.v1"
command:
- "start-dev"
- "--log-level=info"
- "--log-console-output=default" # can be 'json'
# - "--import-realm"
# - "--spi-theme-static-max-age=-1"
# - "--spi-theme-cache-themes=false"
# - "--spi-theme-cache-templates=false"
# - "--spi-events-listener-jboss-logging-success-level=info"
# - "--spi-events-listener-jboss-logging-error-level=warn"
depends_on: ["pg-local"]
kc-host-build:
extends:
service: kc-container-build
container_name: kc_host_build
volumes:
#- ./import:/opt/keycloak/data/import
- ./build/libs:/opt/keycloak/providers:z
build:
context: .
dockerfile: dockerfiles/host-build.Dockerfile
pg-local:
image: postgres:15
container_name: pg_local
ports:
- "5432:5432"
environment:
POSTGRES_DB: ${KC_DB:-postgres}
POSTGRES_USER: ${KC_DB_USERNAME:-kc-user}
POSTGRES_PASSWORD: ${KC_DB_PASSWORD:-kc-pass}
volumes:
- postgres_data:/var/lib/postgresql/data
zoo:
image: confluentinc/cp-zookeeper:7.3.2
hostname: zoo
container_name: local_zoo
ports:
- "2181:2181"
networks:
- kc-subnet
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_SERVER_ID: 1
ZOOKEEPER_SERVERS: zoo:2888:3888
kafka:
image: confluentinc/cp-kafka:7.3.2
hostname: kafka
container_name: local_kafka
expose:
- '29092'
- '9092'
ports:
- "9092:9092"
- "29092:29092"
- "9999:9999"
networks:
- kc-subnet
environment:
KAFKA_CREATE_TOPICS: topic_test:1:1
KAFKA_ADVERTISED_LISTENERS: INTERNAL://kafka:19092,EXTERNAL://${DOCKER_HOST_IP:-host.docker.internal}:9092,DOCKER://host.docker.internal:29092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT,DOCKER:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: INTERNAL
KAFKA_ZOOKEEPER_CONNECT: "zoo:2181"
KAFKA_BROKER_ID: 1
KAFKA_LOG4J_LOGGERS: "kafka.controller=INFO,kafka.producer.async.DefaultEventHandler=INFO,state.change.logger=INFO"
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_JMX_PORT: 9999
KAFKA_JMX_HOSTNAME: ${DOCKER_HOST_IP:-127.0.0.1}
KAFKA_AUTHORIZER_CLASS_NAME: kafka.security.authorizer.AclAuthorizer
KAFKA_ALLOW_EVERYONE_IF_NO_ACL_FOUND: "true"
depends_on:
- zoo
schema-registry:
image: confluentinc/cp-schema-registry:7.3.2
depends_on:
- zookeeper
- kafka
ports:
- 8081:8081
networks:
- kc-subnet
container_name: sn-schema-registry
environment:
SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: PLAINTEXT://host.docker.internal:9092
#SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: zoo:2181
SCHEMA_REGISTRY_HOST_NAME: schema-registry
SCHEMA_REGISTRY_LISTENERS: "http://0.0.0.0:8081"
networks:
kc-subnet:
name: kc_subnet
volumes:
postgres_data:
driver: local