forked from insight-platform/Savant
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.l4t.yml
More file actions
128 lines (120 loc) · 4.41 KB
/
docker-compose.l4t.yml
File metadata and controls
128 lines (120 loc) · 4.41 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
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
126
127
128
services:
video-loop-source:
image: ghcr.io/insight-platform/savant-adapters-gstreamer-l4t:latest
restart: unless-stopped
volumes:
- zmq_sockets:/tmp/zmq-sockets
- /tmp/video-loop-source-downloads:/tmp/video-loop-source-downloads
environment:
- LOCATION=https://eu-central-1.linodeobjects.com/savant-data/demo/Free_City_Street_Footage.mp4
- DOWNLOAD_PATH=/tmp/video-loop-source-downloads
- ZMQ_ENDPOINT=pub+connect:ipc:///tmp/zmq-sockets/input-video.ipc
- SOURCE_ID=city-traffic
- SYNC_OUTPUT=True
entrypoint: /opt/savant/adapters/gst/sources/video_loop.sh
depends_on:
module-detector:
condition: service_healthy
module-tracker:
condition: service_healthy
module-draw-func:
condition: service_healthy
module-detector:
image: ghcr.io/insight-platform/savant-deepstream-l4t:latest
restart: unless-stopped
volumes:
- zmq_sockets:/tmp/zmq-sockets
- ../../cache:/cache
- ..:/opt/savant/samples
command: samples/pass_through_processing/module.yml
environment:
- MODULE_STAGE=detector
- MODEL_PATH=/cache/models/peoplenet_detector
- DOWNLOAD_PATH=/cache/downloads/peoplenet_detector
- ZMQ_SRC_ENDPOINT=sub+bind:ipc:///tmp/zmq-sockets/input-video.ipc
- ZMQ_SINK_ENDPOINT=pub+bind:ipc:///tmp/zmq-sockets/detector-output.ipc
- METRICS_FRAME_PERIOD=100
- METRICS_TIME_PERIOD=1
- METRICS_PROVIDER=prometheus
- METRICS_PROVIDER_PARAMS={"port":8000, "labels":{"module_stage":"detector"}}
runtime: nvidia
module-tracker:
image: ghcr.io/insight-platform/savant-deepstream-l4t:latest
restart: unless-stopped
volumes:
- zmq_sockets:/tmp/zmq-sockets
- ../../cache:/cache
- ..:/opt/savant/samples
command: samples/pass_through_processing/module.yml
environment:
- MODULE_STAGE=tracker
- MODEL_PATH=/cache/models/peoplenet_detector
- DOWNLOAD_PATH=/cache/downloads/peoplenet_detector
- METRICS_FRAME_PERIOD=100
- METRICS_TIME_PERIOD=1
- METRICS_PROVIDER=prometheus
- METRICS_PROVIDER_PARAMS={"port":8000, "labels":{"module_stage":"tracker"}}
- ZMQ_SRC_ENDPOINT=sub+connect:ipc:///tmp/zmq-sockets/detector-output.ipc
- ZMQ_SINK_ENDPOINT=pub+bind:ipc:///tmp/zmq-sockets/tracker-output.ipc
runtime: nvidia
module-draw-func:
image: ghcr.io/insight-platform/savant-deepstream-l4t:latest
restart: unless-stopped
volumes:
- zmq_sockets:/tmp/zmq-sockets
- ../../cache:/cache
- ..:/opt/savant/samples
command: samples/pass_through_processing/module.yml
environment:
- MODULE_STAGE=draw-func
- METRICS_FRAME_PERIOD=100
- METRICS_TIME_PERIOD=1
- METRICS_PROVIDER=prometheus
- METRICS_PROVIDER_PARAMS={"port":8000, "labels":{"module_stage":"draw-func"}}
# Use default draw_func (savant.deepstream.drawfunc.NvDsDrawFunc)
- DRAW_FUNC={}
- CODEC=jpeg
- MODEL_PATH=/cache/models/peoplenet_detector
- DOWNLOAD_PATH=/cache/downloads/peoplenet_detector
- ZMQ_SRC_ENDPOINT=sub+connect:ipc:///tmp/zmq-sockets/tracker-output.ipc
- ZMQ_SINK_ENDPOINT=pub+bind:ipc:///tmp/zmq-sockets/output-video.ipc
runtime: nvidia
always-on-sink:
image: ghcr.io/insight-platform/savant-adapters-deepstream-l4t:latest
restart: unless-stopped
ports:
- "554:554" # RTSP
- "1935:1935" # RTMP
- "888:888" # HLS
- "8889:8889" # WebRTC
volumes:
- zmq_sockets:/tmp/zmq-sockets
- ../assets/stub_imgs:/stub_imgs
environment:
- ZMQ_ENDPOINT=sub+connect:ipc:///tmp/zmq-sockets/output-video.ipc
- SOURCE_ID=city-traffic
- FRAMERATE=25/1
- STUB_FILE_LOCATION=/stub_imgs/smpte100_1280x720.jpeg
- DEV_MODE=True
command: python -m adapters.ds.sinks.always_on_rtsp
prometheus:
image: prom/prometheus:v2.48.0
restart: unless-stopped
ports:
- "9090:9090"
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
grafana:
image: grafana/grafana-oss
restart: unless-stopped
volumes:
- ./grafana_datasources:/etc/grafana/provisioning/datasources/
- ./grafana_dashboards:/etc/grafana/provisioning/dashboards/
ports:
- "3000:3000"
environment:
- GF_AUTH_ANONYMOUS_ENABLED=true
- GF_AUTH_ANONYMOUS_ORG_NAME=Main Org.
- GF_AUTH_ANONYMOUS_ORG_ROLE=Viewer
volumes:
zmq_sockets: