{"id":17361020,"url":"https://github.com/diegoferigo/development-iit","last_synced_at":"2025-04-15T00:47:59.263Z","repository":{"id":141640869,"uuid":"138296563","full_name":"diegoferigo/development-iit","owner":"diegoferigo","description":"Docker-based isolated development environment for my activities @ Italian Institute of Technology","archived":false,"fork":false,"pushed_at":"2024-01-17T09:03:31.000Z","size":630,"stargazers_count":7,"open_issues_count":2,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-15T00:47:45.487Z","etag":null,"topics":["container","cpp","development","docker","environment","ide","programming","script","setup"],"latest_commit_sha":null,"homepage":"https://github.com/diegoferigo/devenv","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/diegoferigo.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}},"created_at":"2018-06-22T11:47:25.000Z","updated_at":"2023-01-13T11:17:04.000Z","dependencies_parsed_at":"2023-10-05T15:19:18.706Z","dependency_job_id":null,"html_url":"https://github.com/diegoferigo/development-iit","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diegoferigo%2Fdevelopment-iit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diegoferigo%2Fdevelopment-iit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diegoferigo%2Fdevelopment-iit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diegoferigo%2Fdevelopment-iit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/diegoferigo","download_url":"https://codeload.github.com/diegoferigo/development-iit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248986278,"owners_count":21194025,"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":["container","cpp","development","docker","environment","ide","programming","script","setup"],"created_at":"2024-10-15T19:29:49.804Z","updated_at":"2025-04-15T00:47:59.244Z","avatar_url":"https://github.com/diegoferigo.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003ch1 align=\"center\"\u003edevelopment environments\u003c/h1\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cb\u003e\u003ca href=\"https://github.com/diegoferigo/development-iit#what\"\u003eWhat\u003c/a\u003e\u003c/b\u003e\n•\n\u003cb\u003e\u003ca href=\"https://github.com/diegoferigo/development-iit#build-the-images\"\u003eBuild\u003c/a\u003e\u003c/b\u003e\n•\n\u003cb\u003e\u003ca href=\"https://github.com/diegoferigo/development-iit#download-the-images\"\u003eDownload\u003c/a\u003e\u003c/b\u003e\n•\n\u003cb\u003e\u003ca href=\"https://github.com/diegoferigo/development-iit#use-the-images\"\u003eUse\u003c/a\u003e\u003c/b\u003e\n•\n\u003cb\u003e\u003ca href=\"https://github.com/diegoferigo/development-iit#notes\"\u003eNotes\u003c/a\u003e\u003c/b\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/diegoferigo/development-iit/actions\"\u003e\n    \u003cimg src=\"https://github.com/diegoferigo/development-iit/workflows/Docker%20Images/badge.svg\" alt=\"Build Status (master)\" /\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n## What\n\nThis repository stores my personal development environment for the activities at the Italian Institute of Technology.\n\nThese images are based upon the [`diegoferigo/devenv`](https://github.com/diegoferigo/devenv) tool, which provides a bunch of nice features such as runtime user creation, X11 forwarding support, [`nvidia-docker`](https://github.com/NVIDIA/nvidia-docker), etc.\n\nThis repository stores three docker-based isolated development environments, progressively built upon each other:\n\n- [**`Tools`**](Tools/Dockerfile) provides a generic toolset for C++ development and it is a good candidate to be the base of other images. It mainly contains QtCreator, updated version of cmake, gcc and clang, and other various debugging tools such as gdb, valgrind, rr, iwyu, etc.\n- [**`Development`**](Development/Dockerfile) contains the YARP and ROS robotic middlewares and Gazebo, and all the projects that depend on them.\n- [**`ReinforcementLearning`**](RL/Dockerfile) is still in an early stage of development, and it contains all the resources I need for my research project. At the time of writing it has mainly the ignition robotics libraries, Julia, Jupyter notebook, few python packages.\n\nIn all these images there are included many utilities, scripts, and customization I developed over time.\n\n## Build the images\n\nAll the images can be built using the provided [Makefile](Makefile). Just type:\n\n```\nmake \u003ctarget\u003e\n```\n\n| Targets |\n| ------- |\n| `tools`              |\n| `development-latest` |\n| `development-master` |\n| `rl-latest`          |\n| `rl-master`          |\n\nAll the images are based on top of `diegoferigo/devenv:nvidia` which optionally support the `nvidia` runtime if specified in the config file.\n\n## Download the images\n\nAlternatively to building the images, you can download the pre-built versions which are stored in my [dockerhub profile](https://hub.docker.com/u/diegoferigo).\nThis repository has a CI pipeline that periodically builds all the images.\nThough, not all tags are pushed to dockerhub.\n\n## Use the images\n\nIn the [conf](conf/) folder you can find the devenv config files of the provided images.\nEdit them for your needs and then, from that folder, just execute:\n\n```\ndevenv -f \u003cimage\u003e.yml up\n```\n\nFinally, access the image using `docker exec -it \u003cimage\u003e su $(whoami)`.\n\n## Notes\n\n### Bumblebee support\n\nThe `nvidia` version of the images, thanks to `nvidia-docker`, supports natively systems based on Nvidia prime.\nA system properly configured for using bumblebee (or just bbswitch) can start a container able to access the Nvidia gpu only by prepending `optirun` to the `devenv` / `docker run` / `docker-compose` command.\n\nBe aware that if you start in this way detached containers (`-d`) the `optirun` process dies right after, turning off the GPU, while the container stays active in the background with missing hardware resources.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiegoferigo%2Fdevelopment-iit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdiegoferigo%2Fdevelopment-iit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiegoferigo%2Fdevelopment-iit/lists"}