-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
113 lines (102 loc) · 3.68 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
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
version: "3.8"
services:
postgres_source:
build:
context: postgres
dockerfile: ${PG_VERSION}/Dockerfile
image: "replicase/postgres:${PG_VERSION}-logical"
container_name: "postgres_source"
ports:
- "5432:5432"
command: ["postgres", "-c", "config_file=/pgc/postgresql.conf", "-c","hba_file=/pgc/pg_hba.conf"]
environment:
POSTGRES_HOST_AUTH_METHOD: trust
volumes:
- ./postgres:/pgc
postgres_sink:
build:
context: postgres
dockerfile: ${PG_VERSION}/Dockerfile
image: "replicase/postgres:${PG_VERSION}-logical"
container_name: "postgres_sink"
ports:
- "5433:5432"
command: [ "postgres", "-c", "config_file=/pgc/postgresql.conf", "-c","hba_file=/pgc/pg_hba.conf" ]
environment:
POSTGRES_HOST_AUTH_METHOD: trust
volumes:
- ./postgres:/pgc
pulsar:
image: apachepulsar/pulsar:2.10.4
container_name: pulsar
command: ["bin/pulsar", "standalone"]
ports:
- "6650:6650"
- "8080:8080"
pulsar-ui:
image: apachepulsar/pulsar-manager:v0.4.0
container_name: pulsar-ui
ports:
- "9527:9527"
- "7750:7750"
depends_on:
- pulsar
environment:
SPRING_CONFIGURATION_FILE: /pulsar-manager/pulsar-manager/application.properties
volumes:
- ./pulsar/application.properties:/pulsar-manager/pulsar-manager/application.properties
pg2pulsar:
image: replicase/pgcapture:latest
container_name: "pg2pulsar"
command:
- "pg2pulsar"
- "--PGConnURL=postgres://postgres@postgres_source:5432/postgres?sslmode=disable"
- "--PGReplURL=postgres://postgres@postgres_source:5432/postgres?sslmode=disable&replication=database"
- "--PulsarURL=pulsar://pulsar:6650"
- "--PulsarTopic=persistent://public/pgcapture/postgres"
- "--DecodePlugin=$DECODE_PLUGIN"
pulsar2pg:
image: replicase/pgcapture:latest
container_name: "pulsar2pg"
command: [ "pulsar2pg", "--PGConnURL=postgres://postgres@postgres_sink:5432/postgres?sslmode=disable", "--PulsarURL=pulsar://pulsar:6650", "--PulsarTopic=persistent://public/pgcapture/postgres" ]
gateway:
image: replicase/pgcapture:latest
container_name: "gateway"
ports:
- 10001:10001
command: gateway --ControllerAddr=controller:10000 --ResolverConfig='{"postgres_cdc":{"PulsarURL":"pulsar://pulsar:6650","PulsarTopic":"persistent://public/pgcapture/postgres","PulsarSubscription":"postgres_cdc","AgentURL":"agent:10000"}}'
controller:
image: replicase/pgcapture:latest
container_name: "controller"
command: [ "controller" ]
ports:
- 10000:10000
agent:
image: replicase/pgcapture:latest
container_name: "agent"
command: [ "agent" ]
configure:
image: replicase/pgcapture:latest
container_name: configure
command: ["configure", "--AgentAddr=agent:10000", "--AgentCommand=pulsar2pg", "--PGConnURL=postgres://postgres@postgres_sink:5432/postgres?sslmode=disable", "--PulsarURL=pulsar://pulsar:6650", "--PulsarTopic=persistent://public/pgcapture/postgres"]
wait-demo-consumer-deps:
image: dadarek/wait-for-dependencies
depends_on:
- pulsar
# - pulsar-ui
- postgres_source
- postgres_sink
- controller
- gateway
command: ["pulsar:8080", "pulsar:6650", "postgres_source:5432", "postgres_sink:5432", "controller:10000", "gateway:10001"]
wait-demo-scheduler-deps:
image: dadarek/wait-for-dependencies
depends_on:
- pulsar
# - pulsar-ui
- postgres_source
- postgres_sink
- agent
- controller
- gateway
command: [ "pulsar:8080", "pulsar:6650", "postgres_source:5432", "postgres_sink:5432", "agent:10000", "controller:10000", "gateway:10001"]