{"id":20957445,"url":"https://github.com/mrvideo/ros-docker-with-vnc","last_synced_at":"2026-04-10T23:05:36.009Z","repository":{"id":229160215,"uuid":"775916639","full_name":"MrVideo/ROS-Docker-with-VNC","owner":"MrVideo","description":"A Docker Compose setup with ROS and noVNC that is easy to use.","archived":false,"fork":false,"pushed_at":"2024-06-20T13:22:30.000Z","size":13,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-11T00:48:31.819Z","etag":null,"topics":["docker","docker-compose","ros"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","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/MrVideo.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":"2024-03-22T09:56:45.000Z","updated_at":"2024-06-20T13:22:33.000Z","dependencies_parsed_at":"2024-03-22T11:29:45.654Z","dependency_job_id":"09df99e9-f11b-4f6e-baf3-7cdfc91b8136","html_url":"https://github.com/MrVideo/ROS-Docker-with-VNC","commit_stats":null,"previous_names":["mrvideo/ros-docker-with-vnc"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrVideo%2FROS-Docker-with-VNC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrVideo%2FROS-Docker-with-VNC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrVideo%2FROS-Docker-with-VNC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrVideo%2FROS-Docker-with-VNC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MrVideo","download_url":"https://codeload.github.com/MrVideo/ROS-Docker-with-VNC/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243352034,"owners_count":20276916,"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":["docker","docker-compose","ros"],"created_at":"2024-11-19T01:33:37.170Z","updated_at":"2025-12-29T00:03:07.567Z","avatar_url":"https://github.com/MrVideo.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# A better ROS Docker setup\n\nThis is a Docker Compose setup for [ROS 1](https://www.ros.org/) which lets you visualise GUIs through [noVNC](https://github.com/theasp/docker-novnc) and interact with ROS via terminal.\n\nThe `ros` container makes use of a Docker volume to contain persistent data.\n\nI also took the liberty to install a Neovim instance with my configs and `clangd` for LSP support when using ROS.\n\n## Requirements\n\nI highly recommend having a terminal emulator that allows for splits and tabs in order to use this setup.\n\nMy recommendations are:\n\n- For macOS users, [iTerm 2](https://iterm2.com/)\n- For Linux users, [kitty](https://sw.kovidgoyal.net/kitty/)\n- For Windows users, I'm sorry, I have absolutely no idea\n\nYou can also use any terminal emulator of your choice and [tmux](https://github.com/tmux/tmux/wiki), although it might be a bit difficult to get used to.\n\n## First run\n\nIn order to start everything up, just run the following command in your terminal\n\n```\nsudo docker compose up --build --detach\n```\n\nYou should be able to see two containers, `ros` and `novnc`, running by executing the command:\n\n```\nsudo docker ps -a\n```\n\n## Later spins\n\nIf you've already built the image, just run the following command to start the containers:\n\n```\nsudo docker compose up -d\n```\n\n## Connect to noVNC instance\n\nTo see your GUI applications, just navigate to the following URL:\n\n```\nhttp://localhost:8080/vnc.html\n```\n\nAlternatively, you can click [here](http://localhost:8080/vnc.html).\n\n## Connect a shell to the ROS container\n\nTo interact via a tty with the ROS container, you can simply run this command:\n\n```\nsudo docker exec -it ros /bin/bash\n```\n\nThis will attach your current terminal window to a `bash` session in the ROS Docker container, so that you can send commands to your nodes.\n\n## Stop the services\n\nWhen you have finished your work, you can run:\n\n```\nsudo docker compose down\n```\n\nThis command will stop the two previously started containers and delete them.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrvideo%2Fros-docker-with-vnc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrvideo%2Fros-docker-with-vnc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrvideo%2Fros-docker-with-vnc/lists"}