{"id":27004189,"url":"https://github.com/srindot/ros-docker-setup","last_synced_at":"2025-04-04T06:15:18.985Z","repository":{"id":283439741,"uuid":"951766153","full_name":"Srindot/ROS-docker-setup","owner":"Srindot","description":"This repository provides a docker file to set up ROS2 Humble developer environment ","archived":false,"fork":false,"pushed_at":"2025-04-03T16:32:20.000Z","size":15,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-03T17:33:36.359Z","etag":null,"topics":["archlinux","docker","docker-image","dockerfile","gazebo","px4","px4-ros2","px4-ros2-gazebo","ros-gazebo","ros2-humble","ubuntu2204"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Srindot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2025-03-20T07:57:57.000Z","updated_at":"2025-04-03T16:32:24.000Z","dependencies_parsed_at":"2025-03-20T09:23:48.349Z","dependency_job_id":"ca94b1fe-eec6-4457-b118-52d8d3cc2492","html_url":"https://github.com/Srindot/ROS-docker-setup","commit_stats":null,"previous_names":["srindot/ros-docker-setup"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Srindot%2FROS-docker-setup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Srindot%2FROS-docker-setup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Srindot%2FROS-docker-setup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Srindot%2FROS-docker-setup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Srindot","download_url":"https://codeload.github.com/Srindot/ROS-docker-setup/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247128753,"owners_count":20888235,"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":["archlinux","docker","docker-image","dockerfile","gazebo","px4","px4-ros2","px4-ros2-gazebo","ros-gazebo","ros2-humble","ubuntu2204"],"created_at":"2025-04-04T06:15:18.185Z","updated_at":"2025-04-04T06:15:18.964Z","avatar_url":"https://github.com/Srindot.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Docker File for ROS2 Humble\n\nThis repo provides a Dockerized development environment for:\n1. **ROS2(Humble)** setup.\n2. **ROS2(Humble), Gazebo(Ignition) and PX4** integration setup.\n\n---\n\n## Repository Structure\n\n- [`ros2-humble/`](https://github.com/Srindot/ROS-docker-setup/tree/main/ros2-humble) - Setup for ROS2 Humble.\n- [`ros2-gazebo-px4/`](https://github.com/Srindot/ROS-docker-setup/tree/main/ros2_humble-px4-gazebo_ignition) - Setup for ROS2, Gazebo, and PX4 simulation.\n\n---\n\n## Cloning the Repository\nFor setting up the docker environment clone this repository:\n\n```bash \ngit clone https://github.com/Srindot/ROS-docker-setup.git\n```\n\n### 1. ROS2 Humble Setup\nTo build the Docker Image\n\nNavigate to the ROS-docker-setup/ros2-humble folder:\n\n```bash\ncd ROS-docker-setup/ros2-humble\n```\nBuild the docker file with the following command.\n\n```bash \ndocker build -t ros2humble:latest .\n```\nAfter building the docker image, a container can be created with the name as `myros` using the built image by the following command\n\n```bash\ndocker run -it \\\n  --name myros \\\n --privileged \\\n  -e DISPLAY=$DISPLAY \\\n  -e PULSE_SERVER=unix:/run/user/$(id -u)/pulse/native \\\n  --volume=/run/user/$(id -u)/pulse/native:/run/user/$(id -u)/pulse/native \\\n  --device /dev/snd \\\n  --group-add audio \\\n  --net=host \\\n  --volume /tmp/.X11-unix:/tmp/.X11-unix \\\n  --volume /home/$(whoami)/.Xauthority:/root/.Xauthority:ro \\\n  ros2humble:latest\n```\nTo exit the container\n```bash \nexit\n```\nTo stop the container \n\n```bash\ndocker stop myros\n```\n\nTo start the container again\n\n```bash\ndocker start myros \n```\n\nTo enter to the bash \n``` bash\ndocker exec -it myros /bin/bash\n```\n\nTo remove the container \n\n```bash \nrm -f myros\n```\n\n### 1. ROS2 Gazebo Humble Setup\nTo start off, navigate to Ros2 gazebo folder\n\n```bash\ncd ros2_humble-px4-gazebo_ignition\n```\n\nthen, build the docker file \n``` bash \ndocker build -t ros2gzpx4:latest .\n```\n\nAfter the image is built, run a contianer named `rosgzpx4` by the following command\n\n```bash \ndocker run -it \\\n  --name rosgzpx4 \\\n --privileged \\\n  -e DISPLAY=$DISPLAY \\\n  -e PULSE_SERVER=unix:/run/user/$(id -u)/pulse/native \\\n  --volume=/run/user/$(id -u)/pulse/native:/run/user/$(id -u)/pulse/native \\\n  --device /dev/snd \\\n  --group-add audio \\\n  --net=host \\\n  --volume /tmp/.X11-unix:/tmp/.X11-unix \\\n  --volume /home/$(whoami)/.Xauthority:/root/.Xauthority:ro \\\n  ros2gzpx4:latest\n```\nTo exit the container\n```bash \nexit\n```\nTo stop the container \n\n```bash\ndocker stop rosgzpx4\n```\n\nTo start the container again\n\n```bash\ndocker start rosgzpx4 \n```\n\nTo enter to the bash \n``` bash\ndocker exec -it rosgzpx4 /bin/bash\n```\n\nTo remove the container \n\n```bash \nrm -f rosgzpx4\n```\n\n### Note\nEnsure your host system supports GUI applications (e.g., X11) for GUI tools to display correctly.\n\nIf you face any issues, please open an issue in GitHub.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsrindot%2Fros-docker-setup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsrindot%2Fros-docker-setup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsrindot%2Fros-docker-setup/lists"}