-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
91 lines (75 loc) · 2.69 KB
/
Copy pathdocker-compose.yml
File metadata and controls
91 lines (75 loc) · 2.69 KB
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
services:
# ============================================================
# Service 1: Vitals Publisher + MQTT Broker
# Image is pinned by the CD pipeline (cd-sync-images.yml).
# For local builds use: docker compose -f docker-compose.yml -f docker-compose.build.yml up
# ============================================================
vitals-publisher:
image: ghcr.io/chaithubk/medtech-vitals-publisher:v2.2.2 # cd-managed
container_name: vitals-publisher
hostname: vitals-publisher
environment:
MQTT_BROKER: "localhost"
MQTT_PORT: "1883"
PUBLISH_INTERVAL_S: "10"
SCENARIO: "healthy"
LOGLEVEL: "DEBUG"
PYTHONUNBUFFERED: "1"
ports:
- "1883:1883"
networks:
- medtech-network
restart: unless-stopped
healthcheck:
test: ["CMD", "mosquitto_pub", "-h", "localhost", "-p", "1883", "-t", "medtech/health", "-m", "ping", "-q", "0"]
interval: 5s
timeout: 3s
retries: 10
start_period: 15s
# ============================================================
# Service 2: Edge Analytics (Sepsis Detection)
# ============================================================
edge-analytics:
image: ghcr.io/chaithubk/medtech-edge-analytics:v2.2.0 # cd-managed
container_name: edge-analytics
hostname: edge-analytics
environment:
MQTT_BROKER: "vitals-publisher"
MQTT_PORT: "1883"
MQTT_TOPIC_VITALS: "medtech/vitals/latest"
MQTT_TOPIC_PREDICTIONS: "medtech/predictions/sepsis"
MODEL_PATH: "/app/models/sepsis_model.tflite"
LOGLEVEL: "DEBUG"
PYTHONUNBUFFERED: "1"
depends_on:
vitals-publisher:
condition: service_healthy
networks:
- medtech-network
restart: unless-stopped
# ============================================================
# Service 3: Clinician UI (Dashboard)
# ============================================================
clinician-ui:
image: ghcr.io/chaithubk/medtech-clinician-ui:v2.2.0 # cd-managed
container_name: clinician-ui
hostname: clinician-ui
environment:
MQTT_BROKER: "vitals-publisher"
MQTT_PORT: "1883"
MQTT_TOPIC_VITALS: "medtech/vitals/latest"
MQTT_TOPIC_PREDICTIONS: "medtech/predictions/sepsis"
QT_QPA_PLATFORM: "offscreen"
LOGLEVEL: "DEBUG"
depends_on:
vitals-publisher:
condition: service_healthy
networks:
- medtech-network
restart: unless-stopped
# ============================================================
# Docker Network (Shared by all services)
# ============================================================
networks:
medtech-network:
driver: bridge