This repository contains several ROS 2 desktop image variants exposed through noVNC. Detailed documentation lives alongside each variant in its own directory.
humble/: historical version derived from the original upstream repositoryjazzy-webots/: heavily reworked ROS 2 Jazzy image with embedded Webots support onamd64and a host-runexternalWebots workflow for macOS and Windows
This repository has been inspired by Tiryoh/docker-ros2-desktop-vnc which has served as a basis for the humble version of the image. Since then, I have also reworked on image variants adapted to different ROS 2 versions (Jazzy for now), still with a noVNC integration to access the graphical desktop from a browser. This version will be used during the Hackathon taking place in Paris for the ROSCon France 2026.
The Jazzy version specifically provides Webots-specific adjustments to allow the use of an "external" (i.e. outside the running Docker container) Webots installation, especially for macOS since no Linux/arm64 version of Webots exists. The same architecture is now also documented for Windows with a dedicated PowerShell host helper, although it still needs validation on a real Windows setup. I have not tested the same approach for Linux for now, but it might work directly.
Recent work has mainly focused on the Jazzy rewrite, now with Webots (no gazebo):
- migration to ROS 2 Jazzy on Ubuntu Noble
- split between
bundledandexternalWebots backends - explicit support for host-run Webots workflows, with documented helpers for macOS and Windows
- a patched
webots_ros2launcher to transfer worlds,PROTOfiles, assets, and controllers correctly
- https://github.com/atinfinity/nvidia-egl-desktop-ros2
- https://github.com/fcwu/docker-ubuntu-vnc-desktop
- https://github.com/AtsushiSaito/docker-ubuntu-sweb
This repository is released under the Apache 2.0 license. See LICENSE.