-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathdocker-compose.yml
127 lines (115 loc) · 2.83 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
114
115
116
117
118
119
120
121
122
123
124
125
version: "3"
services:
mosquitto:
image: eclipse-mosquitto:2.0
restart: always
ports:
- "1884:1883"
expose:
- "1883"
volumes:
- mosquitto_data:/mosquitto/data
- mosquitto_log:/mosquitto/log
- ./mosquitto/config:/mosquitto/config
influxdb:
image: influxdb
restart: always
ports:
- "8087:8086"
expose:
- "8086"
environment:
- DOCKER_INFLUXDB_INIT_MODE=setup
- DOCKER_INFLUXDB_INIT_USERNAME=dbuser
- DOCKER_INFLUXDB_INIT_PASSWORD=password
- DOCKER_INFLUXDB_INIT_ORG=cms-tedd
- DOCKER_INFLUXDB_INIT_BUCKET=my-bucket
volumes:
- influxdb2:/var/lib/influxdb2
- ./influxdb/config:/etc/influxdb2
telegraf:
image: telegraf
restart: always
volumes:
- ./telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro
depends_on:
- mosquitto
- influxdb
env_file:
- my.env
grafana:
image: grafana/grafana
ports:
- "3001:3000"
depends_on:
- influxdb
volumes:
- grafana:/var/lib/grafana
nodered:
build: ./node-red
ports:
- "1880:1880"
volumes:
- nodered:/data
depends_on:
- mosquitto
web_server:
image: ghcr.io/cms-tedd-ip2i/tracker_dcs_web:0.2.0
# image: webserver_local
restart: always
#stdin_open: true
#tty: true
# port must be open even in production as it's a webserver open to outside
# TODO: setup authentication
environment:
- MQTT_HOST=mosquitto
- MQTT_PORT=1883
ports:
- "8001:8000"
expose:
- "8000"
command: ["uvicorn", "tracker_dcs_web.web_server.app:app", "--host", "0.0.0.0"]
volumes:
- web_server:/app/files
depends_on:
- mosquitto
labview:
image: ghcr.io/cms-tedd-ip2i/tracker_dcs_web:0.2.0
# image: webserver_local
restart: always
command: ["dummy_labview", "http://web_server:8000", "labview/mapping.txt", "labview/header.txt", "labview/measures.txt"]
depends_on:
- web_server
low_voltage:
image: ghcr.io/cms-tedd-ip2i/low_voltage:0.0.1
platform: linux/amd64
command: ['python3', 'hmp.py', 'lw_volt', 'mosquitto']
depends_on:
- mosquitto
# Dummy modules for testing
hv:
image: ghcr.io/cms-tedd-ip2i/dummy:0.0.1
platform: linux/amd64
links:
- mosquitto
command: [ 'python', 'dummy/hv.py', 'hv', 'mosquitto' ]
lv:
image: ghcr.io/cms-tedd-ip2i/dummy:0.0.1
platform: linux/amd64
links:
- mosquitto
command: [ 'python', 'dummy/hv.py', 'lv', 'mosquitto' ]
sensor_1:
image: ghcr.io/cms-tedd-ip2i/dummy:0.0.1
platform: linux/amd64
links:
- mosquitto
command: [ 'python', 'dummy/sensor.py', 'sensor_1', 'mosquitto' ]
volumes:
mosquitto_data:
mosquitto_log:
influxdb2:
telegraf.conf:
grafana:
nodered:
web_server: