{"id":21103108,"url":"https://github.com/robotnikautomation/robotnik_ros_images_doc","last_synced_at":"2026-05-02T18:40:37.623Z","repository":{"id":197018598,"uuid":"696312243","full_name":"RobotnikAutomation/robotnik_ros_images_doc","owner":"RobotnikAutomation","description":"Robotnik ROS container images documentation","archived":false,"fork":false,"pushed_at":"2025-06-03T05:29:45.000Z","size":31,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-06-03T18:16:29.992Z","etag":null,"topics":["containers","docker","docker-compose","k8s","kubernetes","robotnik","ros","ros-melodic","ros-noetic","ros1","ros2","ros2-humble","ros2-iron","ros2-rolling"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/robotnik/ros","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RobotnikAutomation.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2023-09-25T14:00:02.000Z","updated_at":"2025-06-03T05:29:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"de5e0540-98a1-4c95-a8e4-ed3563bc6ffc","html_url":"https://github.com/RobotnikAutomation/robotnik_ros_images_doc","commit_stats":null,"previous_names":["robotnikautomation/robotnik_ros_images_doc"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/RobotnikAutomation/robotnik_ros_images_doc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobotnikAutomation%2Frobotnik_ros_images_doc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobotnikAutomation%2Frobotnik_ros_images_doc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobotnikAutomation%2Frobotnik_ros_images_doc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobotnikAutomation%2Frobotnik_ros_images_doc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RobotnikAutomation","download_url":"https://codeload.github.com/RobotnikAutomation/robotnik_ros_images_doc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobotnikAutomation%2Frobotnik_ros_images_doc/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263339825,"owners_count":23451513,"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":["containers","docker","docker-compose","k8s","kubernetes","robotnik","ros","ros-melodic","ros-noetic","ros1","ros2","ros2-humble","ros2-iron","ros2-rolling"],"created_at":"2024-11-19T23:57:44.536Z","updated_at":"2026-05-02T18:40:37.604Z","avatar_url":"https://github.com/RobotnikAutomation.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Robotnik ROS images\n\nThis repository contains the configurations for generating Robotnik ROS Docker images using **Docker Compose** and delivering them to our registries.\n\nThe configuration files are created with the **yq** template engine.\n\nThese images are used as base images for the Robotnik software, as well as for building and testing ROS packages.\n\nThe images are created for the different ROS distros (Melodic, Noetic, Humble, Iron, Jazzy, Rolling, etc)\n\n## Repository structure\n\n| folder | description |\n| --- | --- |\n| [`resources`](./resources) | Contains the basic images, used to build other images |\n| [`examples`](./examples)  | Contains example images, used to demonstrate the usage of the basic images |\n| [`build.sh`](./build.sh) | Script to build the basic images for the different ROS distros |\n| [`.github`](./.github) | Configuration of Github Actions and Workflows to automate the build and push of the images |\n\n## Basic Images\n\nIn the [resources](./resources) folder we find three basic images:\n\n- [base](./resources/base): Image with ROS installed and some utilities from Robotnik\n- [builder](./resources/builder): Based on **base**, includes tools to compile source code and generate deb packages\n- [gui](./resources/gui): Based on **base**, includes tools to serve graphical applications via VNC\n\n\n## Automatic Image Generation\n\nWe have setup the automatic generation of the images for the following ROS distros:\n\n| ROS version | ROS distro | Image name |\n| ----------- | ---------- | ---------- |\n| 1           | Melodic    | `melodic`  |\n| 1           | Noetic     | `noetic`   |\n| 2           | Humble     | `humble`   |\n| 2           | Iron       | `iron`     |\n| 2           | Jazzy      | `jazzy`    |\n| 2           | Rolling    | `rolling`  |\n\nThe images are tagged with the ROS version, type, version or commit hash, and date. For example, `noetic-base-0.1.0-20200818` is the image with ROS1 Melodic, type `base`, version `0.1.0` and date `20200818`. The image without version and date is the latest version of the image.\n\nThis configuration is stored in the [.github](./.github) folder.\n\n## Registries\n\nThe images are stored in the following registries:\n\n| Registry | Images |\n| --- | --- |\n| [Harbor](https://registry.robotnik.ws) | `robotnik/ros:\u003cdistro\u003e-\u003ctype\u003e` |\n| [Docker Hub](https://hub.docker.com/r/robotnik/ros) | `robotnik/ros:\u003cdistro\u003e-\u003ctype\u003e` |\n\n## Examples\n\nAll the examples are in the [examples](./examples) folder.\n\n### ROS1\n\n- [Basic](./examples/ros1/basic)\n- [Sources as installed debian packages](./examples/ros1/generate-and-install-debs-from-source)\n- [Generate deb files](./examples/ros1/generate-debs)\n- [Rviz through web](./examples/ros1/rviz-web)\n\n### ROS2\n\n- [Basic](./examples/ros2/basic/)\n- [Developer workspace](./examples/ros2/devel-workspace)\n- [Sources as installed debian packages](./examples/ros2/generate-and-install-debs-from-source)\n- [Generate deb files](./examples/ros2/generate-debs)\n- [Multiple domains](./examples/ros2/multiple-domains)\n- [Nvidia container toolkit](./examples/ros2/nvidia-container-toolkit)\n- [Rviz through vnc](./examples/ros2/rviz-vnc)\n- [Rviz through web interface](./examples/ros2/rviz-web)\n\n## How images can be created and uploaded to registries\n\n![How images can be created and uploaded to registries](docs/process.png)\n\n\n## License\n\nCopyright (c) 2025, Robotnik Automation S.L. All rights reserved.\n\nLicensed under the [BSD 2-Clause](./LICENSE) License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobotnikautomation%2Frobotnik_ros_images_doc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobotnikautomation%2Frobotnik_ros_images_doc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobotnikautomation%2Frobotnik_ros_images_doc/lists"}