-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
55 lines (49 loc) · 1.41 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
version: "2.3"
services:
# ROS Master
ros-master:
image: ros:noetic-ros-core
restart: on-failure
command: stdbuf -o L roscore
# ROS 1 talker
talker:
build:
dockerfile: ros_talker.Dockerfile
context: ./
restart: on-failure
environment:
- "ROS_MASTER_URI=http://ros-master:11311"
command: rosrun roscpp_tutorials talker
# ROS Bridge Websocket
rosbridge-ws:
build:
dockerfile: rosbridge_ws.Dockerfile
context: ./
restart: on-failure
environment:
- "ROS_MASTER_URI=http://ros-master:11311"
command: roslaunch rosbridge_server rosbridge_websocket.launch
# nginx webserver
# - hosting index.html and index.js at :80
# - proxy to ros-bridge-ws service (that doesn't support IPv6) at :9090
webserver:
build:
dockerfile: webserver.Dockerfile
context: ./
restart: on-failure
network_mode: service:husarnet-talker
# Husarnet
husarnet-talker:
image: husarnet/husarnet
volumes:
- /var/lib/husarnet # This will persist your Husarnet Client keys, thus IP of the container will be stable/the same between (re)boots
sysctls:
- net.ipv6.conf.all.disable_ipv6=0 # Husarnet is using IPv6 for the internal connections
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun
environment:
- HOSTNAME=talker-over-rosbridge-ws
env_file:
- ./.env # create .env file in the same folder