-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
134 lines (121 loc) · 3.15 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
126
127
128
129
130
131
132
133
134
---
## container configuration for ROS & Kamera
## USE THIS FOR BUILDING not running!
## X11 note: To enable window display from inside the container, you must first
## provide permissions with xhost, usually `xhost +local:root` (not the safest)
## You also have to volume mount `/tmp/.X11-unix`, blank out $DISPLAY, and
## disable X11 shared memory `QT_X11_NO_MITSHM=1`
version: '3.7'
services:
## ======================= base containers & bases ========================
# Docker file for kamerad service
kamerad:
build:
context: ./src/core/kamerad
image: "kitware/kamera:kamerad"
profiles:
- nuvo
- all
# The core ROS image with CUDA and basic APT packages, no KAMERA code.
core-ros:
build:
context: .
dockerfile: docker/base/core-ros.dockerfile
image: "kamera/base/core-ros:${TAG_KAMERA_DEPS:-latest}"
profiles:
- nuvo
- gui
- all
## =========================== main (full dependencies) =======================
## This is the main image with all dependendencies required for KAMERA, built on
# the basic ROS image.
core-deps:
build:
context: .
dockerfile: docker/base/core-deps.dockerfile
image: "kamera/base/core-deps:${TAG_KAMERA_DEPS:-latest}"
depends_on:
- core-ros
profiles:
- nuvo
- gui
- all
core-gui-deps:
build:
context: .
dockerfile: docker/base/gui-deps.dockerfile
image: "kamera/base/core-gui-deps:${TAG_KAMERA_GUI_DEPS:-latest}"
depends_on:
- core-deps
profiles:
- gui
# Just for the catkin rebuild, if we want to save the static image.
core-final:
build:
context: .
dockerfile: docker/core.dockerfile
image: "kitware/kamera:core"
tty: true
network_mode: host
depends_on:
- core-deps
volumes:
- "/tmp/.X11-unix:/tmp/.X11-unix"
- "${PWD}/src:/root/kamera/src"
profiles:
- nuvo
- all
## =========================== gui =============================
gui:
container_name: gui
build:
context: .
dockerfile: docker/gui.dockerfile
image: "kitware/kamera:gui"
depends_on:
- core-gui-deps
profiles:
- gui
postproc:
build:
context: .
dockerfile: ./docker/kamerapy.dockerfile
args:
BRANCH: $BRANCH
image: "kitware/kamera:postproc"
network_mode: host
tty: true
profiles:
- nuvo
- all
- pf
## ========================== viame =============================
viame-base:
build:
context: .
dockerfile: docker/base/detector-viame-deps.dockerfile
network: host
args:
VIAME_BRANCH: "${VIAME_BRANCH:-latest}"
image: "kamera/base/viame:${VIAME_BRANCH:-latest}"
profiles:
- viame
- all
viame:
build:
context: .
dockerfile: docker/detector.dockerfile
network: host
args:
VIAME_BRANCH: "${VIAME_BRANCH:-latest}"
image: "kitware/kamera:viame"
tty: true
network_mode: host
command: ["bash"]
depends_on:
- viame-base
profiles:
- viame
- all
## ====================================================================
...