Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
c29c668
add internal graphics option and unrecognized opt
woensug-choi Jun 2, 2023
b466995
Add colcon
woensug-choi Jun 6, 2023
bc5fd8d
Merge branch 'Field-Robotics-Lab:main' into main
woensug-choi May 8, 2024
dff6ad3
added dockerfile for ROS2 Jazzy
rakeshv24 May 31, 2024
3fc3ed8
Merge pull request #1 from rakeshv24/jazzy
woensug-choi Jun 4, 2024
0b41531
support apple silicon with rdp
woensug-choi Jun 5, 2024
75cd424
remove dev helpers for faster run
woensug-choi Jun 26, 2024
fe710fd
don't mount home itself but as HOST on docker user
woensug-choi Sep 18, 2024
8687336
update
woensug-choi Sep 18, 2024
55d3517
fixed the typo and added a new argument -P
GauravKumar9920 Jun 20, 2025
5a3ea95
changed echo -> Home for better understanding of the code
GauravKumar9920 Jun 20, 2025
108252f
for non RDP(Macbook), the docker user is root.
woensug-choi Jul 6, 2025
1720658
made recommended changes
GauravKumar9920 Jul 10, 2025
07cf778
typo fix
GauravKumar9920 Jul 10, 2025
6fbdef4
minor change
GauravKumar9920 Jul 10, 2025
408eef5
updated the comment
GauravKumar9920 Jul 14, 2025
944c688
minor changes
GauravKumar9920 Jul 14, 2025
16ac68a
Merge pull request #3 from IOES-Lab/mount
GauravKumar9920 Jul 16, 2025
281f869
add fuse and priviledge for macos rdp
woensug-choi Mar 20, 2026
fd24985
Merge pull request #4 from IOES-Lab/mount
woensug-choi Mar 20, 2026
d246146
add internal graphics option and unrecognized opt
woensug-choi Jun 2, 2023
b44a1d5
Add colcon
woensug-choi Jun 6, 2023
3b0c1c2
added dockerfile for ROS2 Jazzy
rakeshv24 May 31, 2024
239dca0
support apple silicon with rdp
woensug-choi Jun 5, 2024
15a8fe6
remove dev helpers for faster run
woensug-choi Jun 26, 2024
83cfbee
don't mount home itself but as HOST on docker user
woensug-choi Sep 18, 2024
8e384b0
update
woensug-choi Sep 18, 2024
16f5b21
fixed the typo and added a new argument -P
GauravKumar9920 Jun 20, 2025
5e1da20
changed echo -> Home for better understanding of the code
GauravKumar9920 Jun 20, 2025
475d8df
for non RDP(Macbook), the docker user is root.
woensug-choi Jul 6, 2025
71f2474
made recommended changes
GauravKumar9920 Jul 10, 2025
4e0c235
typo fix
GauravKumar9920 Jul 10, 2025
7acc558
minor change
GauravKumar9920 Jul 10, 2025
e2a60d3
updated the comment
GauravKumar9920 Jul 14, 2025
16fa703
minor changes
GauravKumar9920 Jul 14, 2025
1907da9
add fuse and priviledge for macos rdp
woensug-choi Mar 20, 2026
8a66835
persist-image
woensug-choi Mar 24, 2026
cc2fea8
Merge branch 'main' into HonuRobotics-main
woensug-choi Mar 24, 2026
c16502f
Merge pull request #6 from IOES-Lab/HonuRobotics-main
woensug-choi Mar 24, 2026
7e619bb
default host rdp port to 3389
woensug-choi Mar 24, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Extending the base development environments is done by adding a branch to the re
The latest images corresponding to each of the three distributions above are stored in the [`npslearninglab/watery_robots` repository on Dockerhub](https://hub.docker.com/r/npslearninglab/watery_robots).

## Build Instructions
Build the base image with the `build.bash` script.
Build the base image with the `build.bash` script.
```
DIST=(jazzy | humble | galactic | noetic | melodic | kinetic)
./build.bash ${DIST}
Expand Down
1 change: 1 addition & 0 deletions noetic/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ RUN /bin/sh -c 'echo "deb http://packages.ros.org/ros/ubuntu ${RELEASE} main" >
python3-rosinstall \
python3-rosinstall-generator \
python3-vcstool \
python3-colcon-common-extensions \
ros-${DIST}-gazebo-plugins \
ros-${DIST}-gazebo-ros \
ros-${DIST}-gazebo-ros-control \
Expand Down
49 changes: 34 additions & 15 deletions run.bash
Original file line number Diff line number Diff line change
Expand Up @@ -29,28 +29,39 @@
############################################################
Help()
{
# Display Help
echo "Runs a docker container with the image created by build.bash."
echo
echo "Syntax: scriptTemplate [-c|s|t|h]"
echo "options:"
echo "c Add cuda library support."
echo "s Create an image with novnc for use with cloudsim."
echo "t Create a test image for use with CI pipelines."
echo "x Create base image for the VRX competition server."
echo "h Print this help message and exit."
echo
# Display Help
echo "Runs a docker container with the image created by build.bash."
echo
echo "Syntax: $(basename $0) [-p <host_port>] [-c|i|r|s|t|h] <docker_img_name>"
echo "options:"
echo "r With internal graphics card (without nvidia) and with RDP. The default user in container is 'docker' due to RDP constraints (custom host port can be set via the -p option)"
echo "c Add cuda library support."
echo "i With internal graphics card (without nvidia)"
echo "p Override host RDP port (follow syntax for usage, only affects -r option)"
echo "s Create an image with novnc for use with cloudsim."
echo "t Create a test image for use with CI pipelines."
echo "x Create base image for the VRX competition server."
echo "h Print this help message and exit."

echo
}


JOY=/dev/input/js0
CUDA=""
ROCKER_ARGS="--devices $JOY --dev-helpers --nvidia --x11 --user --home --git --persist-image"
HOST_RDP_PORT=3389
ROCKER_ARGS="--devices /dev/dri --devices $JOY --dev-helpers --nvidia --x11 --git --persist-image --volume $(echo ~):/docker/HOST"

while getopts ":cstxh" option; do
while getopts ":cstxhirp:" option; do
case $option in
c) # enable cuda library support
CUDA="--cuda ";;
CUDA="--cuda";;
i) # With internal graphics card (without nvidia)
ROCKER_ARGS="--devices /dev/dri --devices $JOY --x11 --git --persist-image --volume "$HOME":/root/HOST";;
r) # With internal graphics card (without nvidia) and with RDP.
# The default user in container is 'docker' due to RDP constraints (custom host port can be set via the -p option)
# shellcheck disable=SC2116
ROCKER_ARGS="--devices /dev/dri --devices $JOY --x11 --git --persist-image --port "$HOST_RDP_PORT":3389 --volume "$HOME":/home/docker/HOST --device /dev/fuse --privileged";;
s) # Build cloudsim image
ROCKER_ARGS="--nvidia --novnc --turbovnc --user --user-override-name=developer";;
t) # Build test image for Continuous Integration
Expand All @@ -62,6 +73,14 @@ while getopts ":cstxh" option; do
h) # print this help message and exit
Help
exit;;
p) # Override host RDP port
HOST_RDP_PORT=$OPTARG;;
:) #handle missing arguments
echo "Error: Option -$OPTARG requires an argument." >&2
exit 1;;
\?) # handle unrecognized options
echo "Invalid option: -$OPTARG" >&2
exit 1;;
esac
done

Expand All @@ -73,4 +92,4 @@ CONTAINER_NAME="$(tr ':' '_' <<< "$IMG_NAME")_runtime"
ROCKER_ARGS="${ROCKER_ARGS} --name $CONTAINER_NAME"
echo "Using image <$IMG_NAME> to start container <$CONTAINER_NAME>"

rocker ${CUDA} ${ROCKER_ARGS} $IMG_NAME
rocker ${CUDA} ${ROCKER_ARGS} $IMG_NAME