Repository navigation
Expand file tree
/
Copy pathcompose.yaml
More file actions
97 lines (84 loc) · 2.6 KB
/
Copy pathcompose.yaml
File metadata and controls
97 lines (84 loc) · 2.6 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
# SPDX-FileCopyrightText: 2025-2026 Miko Parkkinen
# SPDX-License-Identifier: MIT
name: metriplane-core
x-metriplane-base: &metriplane-base
build:
context: .
dockerfile: docker/Dockerfile
environment:
METRIPLANE_DATA_DIR: /data
METRIPLANE_WS_AUTH_TOKEN: ${METRIPLANE_WS_AUTH_TOKEN:?set METRIPLANE_WS_AUTH_TOKEN}
METRIPLANE_METRICS_AUTH_TOKEN: ${METRIPLANE_METRICS_AUTH_TOKEN:?set METRIPLANE_METRICS_AUTH_TOKEN}
user: "10001:10001"
read_only: true
tmpfs:
- /tmp:rw,noexec,nosuid,nodev
cap_drop:
- ALL
security_opt:
- no-new-privileges:true
ports:
- "8765:8765"
- "8000:8000"
volumes:
- vt_data:/data
- ./datasets:/data/datasets:ro
services:
metriplane_demo:
<<: *metriplane-base
profiles: ["demo"]
command: ["--config", "configs/docker_demo_replay.yaml"]
metriplane_dummy:
<<: *metriplane-base
profiles: ["dummy"]
command: ["--config", "configs/docker_dummy.yaml"]
metriplane_dev:
<<: *metriplane-base
profiles: ["dev"]
entrypoint: ["python", "-m", "metriplane.run"]
command: ["--config", "configs/docker_dummy.yaml"]
metriplane_live:
<<: *metriplane-base
profiles: ["live"]
command: ["--config", "configs/docker_m8_fusion_55x40_live.yaml"]
# Camera access (Linux)
group_add:
- "${METRIPLANE_VIDEO_GID:-44}"
devices:
- /dev/video0:/dev/video0
- /dev/video1:/dev/video1
- /dev/video2:/dev/video2
# many USB cameras (realsense/orbbec/etc) also need USB bus:
- /dev/bus/usb:/dev/bus/usb
# Optional but very useful: see recordings on host immediately
volumes:
- vt_data:/data
- ./datasets:/data/datasets:ro
- ./evidence:/data/evidence
metriplane_live_gpu:
<<: *metriplane-base
profiles: ["gpu"]
command: ["--config", "configs/docker_m8_fusion_55x40_live.yaml"]
# Enable NVIDIA GPU in Docker Compose
gpus: all
# Select the GPU compute backend
environment:
METRIPLANE_DATA_DIR: /data
METRIPLANE_COMPUTE_BACKEND: gpu
METRIPLANE_WS_AUTH_TOKEN: ${METRIPLANE_WS_AUTH_TOKEN:?set METRIPLANE_WS_AUTH_TOKEN}
METRIPLANE_METRICS_AUTH_TOKEN: ${METRIPLANE_METRICS_AUTH_TOKEN:?set METRIPLANE_METRICS_AUTH_TOKEN}
# Camera access (Linux)
group_add:
- "${METRIPLANE_VIDEO_GID:-44}"
devices:
- /dev/video0:/dev/video0
- /dev/video1:/dev/video1
- /dev/video2:/dev/video2
- /dev/bus/usb:/dev/bus/usb
# Optional but useful: write evidence to host
volumes:
- vt_data:/data
- ./datasets:/data/datasets:ro
- ./evidence:/data/evidence
volumes:
vt_data: