{"id":13444267,"url":"https://github.com/Tiryoh/docker-ros2-desktop-vnc","last_synced_at":"2025-03-20T18:31:43.179Z","repository":{"id":38744702,"uuid":"231352321","full_name":"Tiryoh/docker-ros2-desktop-vnc","owner":"Tiryoh","description":"🐳 Dockerfiles to provide HTML5 VNC interface to access Ubuntu Desktop + ROS 2","archived":false,"fork":false,"pushed_at":"2024-10-27T06:19:22.000Z","size":180,"stargazers_count":414,"open_issues_count":8,"forks_count":83,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-10-27T07:26:13.821Z","etag":null,"topics":["desktop","docker","dockerfile","ros2","vnc"],"latest_commit_sha":null,"homepage":"https://memoteki.net/archives/2955","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Tiryoh.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.ja.md","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}},"created_at":"2020-01-02T09:47:30.000Z","updated_at":"2024-10-27T06:19:25.000Z","dependencies_parsed_at":"2024-01-02T23:00:20.266Z","dependency_job_id":"1513b0f1-7dfa-46dd-927c-40e81a38ae4c","html_url":"https://github.com/Tiryoh/docker-ros2-desktop-vnc","commit_stats":null,"previous_names":["tiryoh/docker_ros2-desktop-vnc"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tiryoh%2Fdocker-ros2-desktop-vnc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tiryoh%2Fdocker-ros2-desktop-vnc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tiryoh%2Fdocker-ros2-desktop-vnc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tiryoh%2Fdocker-ros2-desktop-vnc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Tiryoh","download_url":"https://codeload.github.com/Tiryoh/docker-ros2-desktop-vnc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221792892,"owners_count":16881289,"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","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":["desktop","docker","dockerfile","ros2","vnc"],"created_at":"2024-07-31T03:02:23.324Z","updated_at":"2025-03-20T18:31:43.168Z","avatar_url":"https://github.com/Tiryoh.png","language":"Shell","funding_links":[],"categories":["Shell","Packages"],"sub_categories":["Containerization"],"readme":"# docker-ros2-desktop-vnc\n\n[![Publish to Registry (Humble)](https://github.com/Tiryoh/docker-ros2-desktop-vnc/actions/workflows/deploy-humble.yml/badge.svg)](https://github.com/Tiryoh/docker-ros2-desktop-vnc/actions/workflows/deploy-humble.yml)\n[![Publish to Registry (Iron)](https://github.com/Tiryoh/docker-ros2-desktop-vnc/actions/workflows/deploy-iron.yml/badge.svg)](https://github.com/Tiryoh/docker-ros2-desktop-vnc/actions/workflows/deploy-iron.yml)\n[![Publish to Registry (Jazzy)](https://github.com/Tiryoh/docker-ros2-desktop-vnc/actions/workflows/deploy-jazzy.yml/badge.svg)](https://github.com/Tiryoh/docker-ros2-desktop-vnc/actions/workflows/deploy-jazzy.yml)\n[![Publish to Registry (Rolling)](https://github.com/Tiryoh/docker-ros2-desktop-vnc/actions/workflows/deploy-rolling.yml/badge.svg)](https://github.com/Tiryoh/docker-ros2-desktop-vnc/actions/workflows/deploy-rolling.yml)\n\n[![Docker Automated build](https://img.shields.io/docker/automated/tiryoh/ros2-desktop-vnc)](https://hub.docker.com/r/tiryoh/ros2-desktop-vnc)\n[![](https://img.shields.io/docker/pulls/tiryoh/ros2-desktop-vnc.svg)](https://hub.docker.com/r/tiryoh/ros2-desktop-vnc)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\nDockerfiles to provide HTML5 VNC interface to access Ubuntu Desktop + ROS2, based on [AtsushiSaito/docker-ubuntu-sweb](https://github.com/AtsushiSaito/docker-ubuntu-sweb)\n\nROS 1 version: https://github.com/Tiryoh/docker-ros-desktop-vnc\n\n![animation](https://github.com/user-attachments/assets/137a5272-f6a3-490f-8bfc-168d082ac949)\n\nThere are official ROS 2 Docker images provided by Open Robotics.  \nhttps://github.com/osrf/docker_images/blob/master/README.md#official-library\n\nこのツールの詳細については以下の記事で紹介しています。  \nThe details of these tools are written in Japanese on this page.  \nhttps://memoteki.net/archives/2955\n\n## Quick Start\n\nRun the docker container and access with port `6080`.  \nChange the `shm-size` value depending on the situation.\n\n__NOTE__: `--security-opt seccomp=unconfined` flag is required to launch humble image. See https://github.com/Tiryoh/docker-ros2-desktop-vnc/pull/56.\n\n```\ndocker run -p 6080:80 --security-opt seccomp=unconfined --shm-size=512m ghcr.io/tiryoh/ros2-desktop-vnc:humble\n```\n\nBrowse http://127.0.0.1:6080/.\n\n![default desktop](https://github.com/user-attachments/assets/29ff479f-de54-4032-995d-d1be244ff4e7)\n\n## Build\n\nTo build Docker image from this Dockerfile, run the following command.\n\n* dashing (deprecated)\n```sh\ncd dashing \u0026\u0026 docker build -t tiryoh/ros2-desktop-vnc:dashing .\n```\n\n* eloquent (deprecated)\n```sh\ncd eloquent \u0026\u0026 docker build -t tiryoh/ros2-desktop-vnc:eloquent .\n```\n\n* foxy (deprecated)\n```sh\ncd foxy \u0026\u0026 docker build -t tiryoh/ros2-desktop-vnc:foxy .\n```\n\n* galactic (deprecated)\n```sh\ncd galactic \u0026\u0026 docker build -t tiryoh/ros2-desktop-vnc:galactic .\n```\n\n* humble\n```sh\n# using \"docker build\"\ncd humble \u0026\u0026 docker build -t tiryoh/ros2-desktop-vnc:humble .\n# using \"docker buildx\" (amd64)\ncd humble \u0026\u0026 docker buildx build --platform=linux/amd64 --progress=plain -t tiryoh/ros2-desktop-vnc:humble-amd64 .\n# using \"docker buildx\" (arm64)\ncd humble \u0026\u0026 docker buildx build --platform=linux/arm64 --progress=plain -t tiryoh/ros2-desktop-vnc:humble-arm64 .\n```\n\n* iron\n```sh\n# using \"docker build\"\ncd iron \u0026\u0026 docker build -t tiryoh/ros2-desktop-vnc:iron .\n# using \"docker buildx\" (amd64)\ncd iron \u0026\u0026 docker buildx build --platform=linux/amd64 --progress=plain -t tiryoh/ros2-desktop-vnc:iron-amd64 .\n# using \"docker buildx\" (arm64)\ncd iron \u0026\u0026 docker buildx build --platform=linux/arm64 --progress=plain -t tiryoh/ros2-desktop-vnc:iron-arm64 .\n```\n\n* jazzy\n```sh\n# using \"docker build\"\ncd jazzy \u0026\u0026 docker build -t tiryoh/ros2-desktop-vnc:jazzy .\n# using \"docker buildx\" (amd64)\ncd jazzy \u0026\u0026 docker buildx build --platform=linux/amd64 --progress=plain -t tiryoh/ros2-desktop-vnc:jazzy-amd64 .\n# using \"docker buildx\" (arm64)\ncd jazzy \u0026\u0026 docker buildx build --platform=linux/arm64 --progress=plain -t tiryoh/ros2-desktop-vnc:jazzy-arm64 .\n```\n\n* rolling\n```sh\n# using \"docker build\"\ncd rolling \u0026\u0026 docker build -t tiryoh/ros2-desktop-vnc:rolling .\n# using \"docker buildx\" (amd64)\ncd rolling \u0026\u0026 docker buildx build --platform=linux/amd64 --progress=plain -t tiryoh/ros2-desktop-vnc:rolling-amd64 .\n# using \"docker buildx\" (arm64)\ncd rolling \u0026\u0026 docker buildx build --platform=linux/arm64 --progress=plain -t tiryoh/ros2-desktop-vnc:rolling-arm64 .\n```\n\n## Docker tags on hub.docker.com\n\n* ~~[`dashing`](https://hub.docker.com/r/tiryoh/ros2-desktop-vnc/tags?page=1\u0026name=dashing) which is based on [`dashing/Dockerfile`](./dashing/Dockerfile)~~ deprecated\n* ~~[`eloquent`](https://hub.docker.com/r/tiryoh/ros2-desktop-vnc/tags?page=1\u0026name=eloquent) which is based on [`eloquent/Dockerfile`](./eloquent/Dockerfile)~~ deprecated\n* [`foxy`](https://hub.docker.com/r/tiryoh/ros2-desktop-vnc/tags?page=1\u0026name=foxy) which is based on [`foxy/Dockerfile`](./foxy/Dockerfile)\n* ~~[`galactic`](https://hub.docker.com/r/tiryoh/ros2-desktop-vnc/tags?page=1\u0026name=galactic) which is based on [`galactic/Dockerfile`](./galactic/Dockerfile)~~ deprecated\n* [`humble`](https://hub.docker.com/r/tiryoh/ros2-desktop-vnc/tags?page=1\u0026name=humble), [`latest`](https://hub.docker.com/r/tiryoh/ros2-desktop-vnc/tags?page=1\u0026name=latest) which is based on [`humble/Dockerfile`](./humble/Dockerfile)\n* [`iron`](https://hub.docker.com/r/tiryoh/ros2-desktop-vnc/tags?page=1\u0026name=iron) which is based on [`iron/Dockerfile`](./iron/Dockerfile)\n* [`jazzy`](https://hub.docker.com/r/tiryoh/ros2-desktop-vnc/tags?page=1\u0026name=jazzy) which is based on [`jazzy/Dockerfile`](./jazzy/Dockerfile)\n* [`rolling`](https://hub.docker.com/r/tiryoh/ros2-desktop-vnc/tags?page=1\u0026name=rolling) which is based on [`rolling/Dockerfile`](./rolling/Dockerfile)\n\nDocker tags and build logs are listed on this page.  \nhttps://github.com/Tiryoh/docker-ros2-desktop-vnc/wiki\n\n## Related projects\n\n* https://github.com/atinfinity/nvidia-egl-desktop-ros2\n  * Dockerfile to use ROS 2 on Xfce Desktop container with NVIDIA GPU support via VNC/[Selkies](https://github.com/selkies-project/selkies-gstreamer)(Full desktop streaming with WebRTC)\n* https://github.com/fcwu/docker-ubuntu-vnc-desktop\n  * Dockerfile to access Ubuntu Xfce/LXDE/LxQT desktop environment via web VNC interface\n* https://github.com/AtsushiSaito/docker-ubuntu-sweb\n  * Dockerfile to access Ubuntu MATE desktop environment via web VNC interface\n\n## License\n\nThis repository is released under the Apache License 2.0, see [LICENSE](./LICENSE).  \nUnless attributed otherwise, everything in this repository is under the Apache License 2.0.\n\n```\nCopyright 2020-2025 Tiryoh \u003ctiryoh@gmail.com\u003e\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```\n\n### Acknowledgements\n\n* This Dockerfile is based on [AtsushiSaito/docker-ubuntu-sweb](https://github.com/AtsushiSaito/docker-ubuntu-sweb), licensed under the [Apache License 2.0](https://github.com/AtsushiSaito/docker-ubuntu-sweb/blob/5e7ba8571d2f4d1e4fca0c1527d090c20f7f5e90/LICENSE).\n* This Dockerfile is based on [fcwu/ubuntu-desktop-lxde-vnc](https://github.com/fcwu/docker-ubuntu-vnc-desktop), licensed under the [Apache License 2.0](https://github.com/fcwu/docker-ubuntu-vnc-desktop/blob/60f9ae18e71e9fabbfb23f67b212e64ab72c206e/LICENSE).\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=Tiryoh/docker-ros2-desktop-vnc,Tiryoh/docker-ros-desktop-vnc\u0026type=Date)](https://star-history.com/#Tiryoh/docker-ros2-desktop-vnc\u0026Tiryoh/docker-ros-desktop-vnc\u0026Date)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTiryoh%2Fdocker-ros2-desktop-vnc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FTiryoh%2Fdocker-ros2-desktop-vnc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTiryoh%2Fdocker-ros2-desktop-vnc/lists"}