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/entrypoint.sh:/entrypoint.sh
- ./config/cyclonedds.xml:/cyclonedds.xml - ./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 image containing the project specific source code.
overlay: overlay:
extends: base extends: base
@ -72,10 +68,6 @@ services:
tags: tags:
- ghcr.io/bjoernellens1/ros2_rmp/rmp:guis - ghcr.io/bjoernellens1/ros2_rmp/rmp:guis
target: guis target: guis
x-bake:
platforms:
- linux/arm64
- linux/amd64
command: > command: >
/bin/bash /bin/bash
devices: devices:
@ -191,20 +183,7 @@ services:
image: ghcr.io/bjoernellens1/ros2_rmp/rmp:guis image: ghcr.io/bjoernellens1/ros2_rmp/rmp:guis
command: > command: >
ros2 launch cps_rmp220_support rviz.launch.py 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 Studio Bridge
foxglove_bridge: foxglove_bridge:
extends: overlay extends: overlay
@ -226,35 +205,6 @@ services:
volumes: volumes:
- ./config/foxglove/default.json:/foxglove/default-layout.json - ./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 # ROS2 Frontier exploration
explorer: explorer:
extends: overlay extends: overlay
@ -336,7 +286,7 @@ services:
ros2 launch depthai_examples stereo.launch.py ros2 launch depthai_examples stereo.launch.py
#devices: #devices:
#- /dev/oakd-lite:/dev/oakd-lite # need corresponding udevrules for this to work: #- /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/ #- /dev/:/dev/
device_cgroup_rules: device_cgroup_rules:
- 'c 189:* rmw' - 'c 189:* rmw'
@ -378,14 +328,17 @@ services:
depends_on: depends_on:
- foxglove - foxglove
- olivetin - olivetin
roscore: # roscore:
image: husarion/ros1-bridge:foxy-0.9.6-20230327-stable # image: husarion/ros1-bridge:foxy-0.9.6-20230327-stable
command: | # command: |
bash -c "source /opt/ros/noetic/setup.bash && roscore" # bash -c "source /opt/ros/noetic/setup.bash && roscore"
network_mode: host # network_mode: host
environment: # environment:
- ROS_DOMAIN_ID=5 # - ROS_DOMAIN_ID=5
restart: always # restart: always
# Webui Stuff
# need to properly setup ros1bridge initialization
ros1bridge: ros1bridge:
image: husarion/ros1-bridge:foxy-0.9.6-20230327-stable image: husarion/ros1-bridge:foxy-0.9.6-20230327-stable
command: | command: |
@ -399,16 +352,12 @@ services:
webui-joystick: webui-joystick:
image: husarion/webui-ros-joystick:noetic-0.0.1-20230510-stable image: husarion/webui-ros-joystick:noetic-0.0.1-20230510-stable
network_mode: host network_mode: host
# networks:
# - caddy_network
# ports:
# - 8000:8000
ipc: host ipc: host
environment: environment:
- ROS_DOMAIN_ID=5 - ROS_DOMAIN_ID=5
restart: always restart: always
#depends_on: depends_on:
# - ros1bridge - ros1bridge
command: roslaunch webui-ros-joystick webui.launch command: roslaunch webui-ros-joystick webui.launch
olivetin: olivetin:
container_name: olivetin container_name: olivetin
@ -439,6 +388,24 @@ services:
ports: ports:
- "1337:1337" - "1337:1337"
restart: always 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 # # Docker related extra stuff #