Cloud Desktop Container uses a custom docker image. The Dockerfile is located here.
There are 3 main components in the container image,
VNC server paired with a NoVNC server
VSCode server
Tailscale client
Catkin Workspace: /my_ros_data/catkin_ws
Ports:
novnc 80
vnc 5900
vscode 8080
The current container image is structured this way:
cosi119/tb3-ros
Installs ROS melodic and ROS packages
Installs custom packages used in class, like prrexamples
cosi119/ubuntu-desktop-lxde-vnc
Provides a Ubuntu image with novnc and lxde preconfigured.
Provides a CUDA enabled variant (image with -cuda tag suffix)
Each of the components are managed by a process control system called supervisord. Supervisor is responsible for spawning and restarting these components. For detailed configs, see .
Modify the supervisord.conf under tb3-ros/tb3-ros/files/supervisor/supervisord.conf.
As of version 2.1.1,
turtlebot3_msgs
turtlebot3
turtlebot3_simulations
To add a package to the default catkin workspace, modify the Dockerfile under tb3-ros/tb3-ros/Dockerfile:
https://github.com/campusrover/prrexamples
https://github.com/campusrover/gpg_bran4
# Add the following lines
WORKDIR /my_ros_data/catkin_ws/src
RUN git clone --recursive --depth=1 https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git