{"id":26480583,"url":"https://github.com/pxlairobotics/ros2jazzydocker","last_synced_at":"2025-08-02T04:36:32.422Z","repository":{"id":281807436,"uuid":"939265942","full_name":"PXLAIRobotics/ROS2JazzyDocker","owner":"PXLAIRobotics","description":"🚀 A Docker container for ROS2 Jazzy on Ubuntu 24.04, featuring KasmVNC via HTTPS for remote desktop access and seamless simulation. 🤖","archived":false,"fork":false,"pushed_at":"2025-06-28T16:58:41.000Z","size":75191,"stargazers_count":6,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-28T17:41:06.462Z","etag":null,"topics":["ai","containerization","docker","gpu-acceleration","headless-desktop","kasmvnc","opencv","robot-operating-system","robotics","ros2","ros2-jazzy","simulation","ubuntu-2404","vnc"],"latest_commit_sha":null,"homepage":"https://github.com/PXLAIRobotics/ROS2JazzyDocker","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PXLAIRobotics.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-02-26T09:11:29.000Z","updated_at":"2025-06-28T16:58:46.000Z","dependencies_parsed_at":"2025-05-08T14:35:05.552Z","dependency_job_id":null,"html_url":"https://github.com/PXLAIRobotics/ROS2JazzyDocker","commit_stats":null,"previous_names":["pxlairobotics/ros2jazzydocker"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PXLAIRobotics/ROS2JazzyDocker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PXLAIRobotics%2FROS2JazzyDocker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PXLAIRobotics%2FROS2JazzyDocker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PXLAIRobotics%2FROS2JazzyDocker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PXLAIRobotics%2FROS2JazzyDocker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PXLAIRobotics","download_url":"https://codeload.github.com/PXLAIRobotics/ROS2JazzyDocker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PXLAIRobotics%2FROS2JazzyDocker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268334645,"owners_count":24233796,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-02T02:00:12.353Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","containerization","docker","gpu-acceleration","headless-desktop","kasmvnc","opencv","robot-operating-system","robotics","ros2","ros2-jazzy","simulation","ubuntu-2404","vnc"],"created_at":"2025-03-20T02:35:42.233Z","updated_at":"2025-08-02T04:36:32.391Z","avatar_url":"https://github.com/PXLAIRobotics.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PXL ROS2 Jazzy Docker Image with KasmVNC\n\nThis repository provides a Docker container for ROS2 Jazzy that includes **KasmVNC**, allowing users to access the Xfce desktop environment via HTTPS for running simulations and other ROS2 applications.\n\n## Features\n- **Ubuntu 24.04 Docker container** with **ROS2 Jazzy** pre-installed.\n- **KasmVNC** for desktop access within the container.\n- **Xfce Desktop** accessible via port **6901**. ([https://localhost:6901](https://localhost:6901) user: ``kasm_user`` password: ``password``.)\n- Scripts to build, run, attach, stop, and remove the container and image.\n\n## Requirements\n- **Docker** installed on your system ([Install Docker](https://docs.docker.com/get-docker/)).\n- Recommended: **NVIDIA GPU** with drivers and NVIDIA Container Toolkit for hardware acceleration (optional).\n\n## Files in Repository\n| File                                             | Description                                      |\n|--------------------------------------------------|--------------------------------------------------|\n| `pxl_ros2_jazzy_image`                           | Directory containing Docker image files.         |\n| `001_build_pxl_ros2_jazzy_image.sh`              | Builds the Docker image.                         |\n| `002_run_pxl_ros2_jazzy_container.sh`            | Runs the container from the built image.         |\n| `003_attach_bash_to_pxl_ros2_jazzy_container.sh` | Opens a Bash shell inside the running container. |\n| `997_stop_pxl_ros2_jazzy_container.sh`           | Stops the running container.                     |\n| `998_remove_pxl_ros2_jazzy_container.sh`         | Removes the stopped container.                   |\n| `999_remove_pxl_ros2_jazzy_image.sh`             | Removes the built Docker image.                  |\n\n## Installation \u0026 Usage\n\n### 1. Clone the Repository\n```sh\ngit clone https://github.com/PXLAIRobotics/ROS2JazzyDocker.git\ncd ROS2JazzyDocker\n```\n\n### 2. Build the Docker Image\n```sh\n./001_build_pxl_ros2_jazzy_image.sh\n```\n\n### 3. Run the Docker Container\n```sh\n./002_run_pxl_ros2_jazzy_container.sh\n```\n\n### 4. Access the Container via Bash\n```sh\n./003_attach_bash_to_pxl_ros2_jazzy_container.sh\n```\n\n### 5. Stop the Container\n```sh\n./997_stop_pxl_ros2_jazzy_container.sh\n```\n\n### 6. Remove the Container\n```sh\n./998_remove_pxl_ros2_jazzy_container.sh\n```\n\n### 7. Remove the Docker Image\n```sh\n./999_remove_pxl_ros2_jazzy_image.sh\n```\n\n## Accessing the Desktop Environment\nAfter running the container, you can access the **KasmVNC** desktop by opening a web browser and navigating to:\n```\nhttps://localhost:6901\n```\nDefault login credentials:\n- **Username:** `kasm_user`\n- **Password:** `password`\n\n### Testing ROS2\n\nTo verify that ROS2 Jazzy is running correctly, follow these steps:\n\nOpen a terminal by clicking the ``Applications`` menu in the **top left corner** and selecting ``Terminal Emulator``.\n\nRun the following command to start an example ROS 2 node:\n\n```\nros2 run example_package example_node\n```\n\nIf everything is set up correctly, you should see output similar to:\n\n```\nHi from example_package.\n```\n\nThis confirms that ROS 2 is properly installed and functional within the container.\n\n\n## Showcase\nBelow are screenshots showcasing the usage of this ROS 2 Jazzy Docker container:\n\n### Ubuntu Desktop\n\n\u003cp align=\"center\"\u003e\n  \u003cimg height=\"350\" src=\"./Images/UbuntuXfceDesktop.png\"\u003e\n\u003c/p\u003e\n\n### Running ROS 2 Simulation\n\n\u003cp align=\"center\"\u003e\n  \u003cimg height=\"350\" src=\"./Images/ROS2.png\"\u003e\n\u003c/p\u003e\n\n### OpenCV Example\n\n\u003cp align=\"center\"\u003e\n  \u003cimg height=\"350\" src=\"./Images/OpenCV.png\"\u003e\n\u003c/p\u003e\n\n## Customization\n- Modify the `Dockerfile` in `pxl_ros2_jazzy_image` to add additional dependencies.\n- Update the scripts to configure network settings, volumes, or GPU access.\n\n## Contributing\nFeel free to fork this repository and submit pull requests for improvements or additional features.\n\n## License\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Third-Party Code Attribution\nThis project includes code from third-party sources:\n\n- **Kasm Technologies**\n  - The `src/` directory in `pxl_ros2_jazzy_image/` is a direct copy from Kasm Technologies' repository.\n  - Portions of Kasm Technologies' code are also used in the `Dockerfile` with modifications.\n  - Their original MIT license is retained in `pxl_ros2_jazzy_image/src/LICENSE`.\n\nAll third-party code follows their respective licenses.\n\n## Author\nMaintained by **Tim Dupont** ([GitHub Profile](https://github.com/TimDupontPXL)).\n\n## Acknowledgments\nSpecial thanks to:\n- **Kasm Technologies** for developing **KasmVNC**, enabling seamless remote desktop access.\n- **Open Source Robotics Foundation (OSRF)** for their continued work on **ROS2**.\n- **Intel**, **Willow Garage**, **Itseez**, and the OpenCV community for developing and maintaining OpenCV, a powerful computer vision library widely used in robotics and AI.\n- **Canonical** for maintaining **Ubuntu**, the foundation of this Docker container.\n- The broader **open-source communities** that contribute to these technologies and make innovation possible.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpxlairobotics%2Fros2jazzydocker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpxlairobotics%2Fros2jazzydocker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpxlairobotics%2Fros2jazzydocker/lists"}