-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
112 lines (98 loc) · 2.66 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
version: "3.9"
services:
influxdb:
image: influxdb:2.4.0
ports:
- "8086:8086"
volumes:
- ./database/influx-data:/var/lib/influxdb2
environment:
- DOCKER_INFLUXDB_INIT_MODE=setup
- DOCKER_INFLUXDB_INIT_USERNAME=iot
- DOCKER_INFLUXDB_INIT_PASSWORD=iothomenetwork
- DOCKER_INFLUXDB_INIT_ORG=iot-home-network
- DOCKER_INFLUXDB_INIT_BUCKET=iot-bucket
- DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=asdf12341234asdf
healthcheck:
test: curl --fail http://localhost:8086/health || exit 1
interval: 10s
retries: 5
start_period: 5s
timeout: 10s
mosquitto:
image: eclipse-mosquitto:1.6.12
volumes:
- .mqtt/MQTTBroker/config:/mosquitto/config
- .mqtt/MQTTBroker/config/mosquitto.conf:/mosquitto/config/mosquitto.conf
- .mqtt/MQTTBroker/data:/mosquitto/data
- .mqtt/MQTTBroker/log:/mosquitto/log
network_mode: "host"
zookeeper:
image: docker.io/bitnami/zookeeper:3.8
environment:
- ZOOKEEPER_CLIENT_PORT=2181
- ZOOKEEPER_TICK_TIME=2000
- ALLOW_ANONYMOUS_LOGIN=yes
network_mode: "host"
kafka:
image: docker.io/bitnami/kafka:3.3
environment:
- KAFKA_CFG_BROKER_ID=1
- KAFKA_CFG_LISTENERS=PLAINTEXT://localhost:9092
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092
- KAFKA_CFG_ZOOKEEPER_CONNECT=localhost:2181
- ALLOW_PLAINTEXT_LISTENER=yes
network_mode: "host"
depends_on:
- zookeeper
healthcheck:
test: kafka-topics.sh --bootstrap-server 127.0.0.1:9092 -list || exit1
interval: 2s
timeout: 10s
retries: 15
cloud:
image: cloud-service
depends_on:
influxdb:
condition: service_healthy
mosquitto:
condition: service_started
kafka:
condition: service_healthy
extra_hosts:
- "host.docker.internal:host-gateway"
command:
# - /bin/sh
# - -c
# - |
# sleep 7
java -jar /project/cloud-service-1.0-SNAPSHOT-jar-with-dependencies.jar
network_mode: "host"
ai-agent:
image: ai-agent
depends_on:
kafka:
condition: service_healthy
extra_hosts:
- "host.docker.internal:host-gateway"
command:
# - /bin/sh
# - -c
# - |
# sleep 7
python3 -u consumer.py
network_mode: "host"
iot-device:
image: iot-device
depends_on:
mosquitto:
condition: service_started
scale: 2
extra_hosts:
- "host.docker.internal:host-gateway"
command:
# - /bin/sh
# - -c
# - |
# sleep 7
python3 -u iot-device.py