This commit is contained in:
Björn Ellensohn 2024-04-02 11:13:35 +02:00
parent 5891da6fa5
commit e1de2cbf77

View File

@ -39,10 +39,6 @@ services:
- ./config/entrypoint.sh:/entrypoint.sh
- ./config/cyclonedds.xml:/cyclonedds.xml
# networks: # not using bridging anymore, instead try using all services on macvlan? let's see... shoudl word for now. Bridging does definitely not work because multicast is not supported here.
# rmp:
# #ipv4_address: 192.168.0.101 #actually don't need to set ips. they are set automatically by docker-compose. SHould be inherited by all child services.
# Overlay image containing the project specific source code.
overlay:
extends: base
@ -72,10 +68,6 @@ services:
tags:
- ghcr.io/bjoernellens1/ros2_rmp/rmp:guis
target: guis
x-bake:
platforms:
- linux/arm64
- linux/amd64
command: >
/bin/bash
devices:
@ -191,19 +183,6 @@ services:
image: ghcr.io/bjoernellens1/ros2_rmp/rmp:guis
command: >
ros2 launch cps_rmp220_support rviz.launch.py
# Needed to display graphical applications
privileged: true # really necessary?
environment:
# Allows graphical programs in the container.
- DISPLAY=${DISPLAY}
- QT_X11_NO_MITSHM=1
- NVIDIA_DRIVER_CAPABILITIES=all
- ROS_DOMAIN_ID=5
- RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
volumes:
# Allows graphical programs in the container.
- /tmp/.X11-unix:/tmp/.X11-unix:rw
- ${XAUTHORITY:-$HOME/.Xauthority}:/root/.Xauthority
# Foxglove Studio Bridge
foxglove_bridge:
@ -226,35 +205,6 @@ services:
volumes:
- ./config/foxglove/default.json:/foxglove/default-layout.json
# USB Camera Stream
# cam:
# extends: overlay
# command: >
# ros2 run ros2_cam_openCV cam_node
# devices:
# - /dev/video0:/dev/video0
# cam:
# extends: overlay
# command: >
# ros2 launch ffmpeg_image_transport cam.launch.py
# devices:
# - /dev/video0:/dev/video0
# - /dev/dri:/dev/dri
webcam:
extends: overlay
image: husarion/image-transport:humble-4.2.0
devices:
- /dev/video0:/dev/video0
- /dev/dri:/dev/dri
volumes:
- ./:/repo
command: >
ros2 launch /repo/webcam.launch.py
ffmpeg_encoding:=libx264
ffmpeg_preset:=ultrafast
ffmpeg_tune:=zerolatency
# ROS2 Frontier exploration
explorer:
extends: overlay
@ -336,7 +286,7 @@ services:
ros2 launch depthai_examples stereo.launch.py
#devices:
#- /dev/oakd-lite:/dev/oakd-lite # need corresponding udevrules for this to work:
# SUBSYSTEM=="usb", ATTRS{idVendor}=="03e7", MODE="0666", SYMLINK+="oakd-lite"
# SUBSYSTEM=="usb", ATTRS{idVendor}=="03e7", MODE="0666", SYMLINK+="oakd-lite"
#- /dev/:/dev/
device_cgroup_rules:
- 'c 189:* rmw'
@ -378,14 +328,17 @@ services:
depends_on:
- foxglove
- olivetin
roscore:
image: husarion/ros1-bridge:foxy-0.9.6-20230327-stable
command: |
bash -c "source /opt/ros/noetic/setup.bash && roscore"
network_mode: host
environment:
- ROS_DOMAIN_ID=5
restart: always
# roscore:
# image: husarion/ros1-bridge:foxy-0.9.6-20230327-stable
# command: |
# bash -c "source /opt/ros/noetic/setup.bash && roscore"
# network_mode: host
# environment:
# - ROS_DOMAIN_ID=5
# restart: always
# Webui Stuff
# need to properly setup ros1bridge initialization
ros1bridge:
image: husarion/ros1-bridge:foxy-0.9.6-20230327-stable
command: |
@ -399,16 +352,12 @@ services:
webui-joystick:
image: husarion/webui-ros-joystick:noetic-0.0.1-20230510-stable
network_mode: host
# networks:
# - caddy_network
# ports:
# - 8000:8000
ipc: host
environment:
- ROS_DOMAIN_ID=5
restart: always
#depends_on:
# - ros1bridge
depends_on:
- ros1bridge
command: roslaunch webui-ros-joystick webui.launch
olivetin:
container_name: olivetin
@ -440,6 +389,24 @@ services:
- "1337:1337"
restart: always
# Webcam stream with ffmpeg x264 compression
# need to add ros-humble-v4l2-camera
webcam:
#extends: overlay
build: https://github.com/bjoernellens1/image-transport-docker/raw/main/demo/webcam/Dockerfile.webcam
image: husarion/image-transport:humble-4.2.0
devices:
- /dev/video1:/dev/video0
- /dev/dri:/dev/dri
volumes:
- ./:/repo
command: >
ros2 launch /repo/webcam.launch.py
ffmpeg_encoding:=libx264
ffmpeg_preset:=ultrafast
ffmpeg_tune:=zerolatency
################################################################################################################################
# Docker related extra stuff #
################################################################################################################################