-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yaml
78 lines (69 loc) · 2.06 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
version: "3.7"
volumes:
proton-logs: {}
services:
proton:
image: ghcr.io/timeplus-io/proton:latest
pull_policy: always
ports:
- "3218:3218"
- "8463:8463"
volumes:
- proton-logs:/var/log/proton-server
healthcheck:
test: ["CMD", "curl", "http://localhost:3218/proton/ping"]
interval: 2s
timeout: 10s
retries: 3
start_period: 10s
kafka:
command:
- redpanda
- start
- --kafka-addr internal://0.0.0.0:9092,external://0.0.0.0:19092
- --advertise-kafka-addr internal://kafka:9092,external://localhost:19092
- --pandaproxy-addr internal://0.0.0.0:8082,external://0.0.0.0:18082
- --advertise-pandaproxy-addr internal://kafka:8082,external://localhost:18082
- --schema-registry-addr internal://0.0.0.0:8081,external://0.0.0.0:18081
- --rpc-addr kafka:33145
- --advertise-rpc-addr kafka:33145
- --smp 1
- --memory 1G
- --mode dev-container
- --default-log-level=debug
image: docker.redpanda.com/redpandadata/redpanda:v23.1.3
container_name: kafka
ports:
- 18081:18081
- 18082:18082
- 19092:19092
- 19644:9644
healthcheck:
test: ["CMD-SHELL", "rpk cluster health | grep -E 'Healthy:.+true' || exit 1"]
interval: 15s
timeout: 3s
retries: 5
start_period: 5s
beats:
image: docker.elastic.co/beats/filebeat:8.11.1
user: root
pull_policy: always
command: ["filebeat", "-e","-c", "/etc/filebeat.yml"]
volumes:
- proton-logs:/var/log/proton-server
- ./config/filebeat.yml:/etc/filebeat.yml
depends_on:
proton:
condition: service_healthy
kafka:
condition: service_healthy
init-stream:
image: ghcr.io/timeplus-io/proton:latest
command:
- sh
- -c
- |
proton-client -h proton --query "CREATE EXTERNAL STREAM IF NOT EXISTS logs(raw string) ENGINE = ExternalStream SETTINGS type = 'kafka', brokers = 'kafka:9092', topic = 'logs'"
depends_on:
beats:
condition: service_started