{"id":14069526,"url":"https://github.com/jimbrig/rdevcontainer","last_synced_at":"2026-04-13T16:33:12.521Z","repository":{"id":105151199,"uuid":"476889208","full_name":"jimbrig/rdevcontainer","owner":"jimbrig","description":"R Development Environment Using VSCode's DevContainers and Docker ","archived":false,"fork":false,"pushed_at":"2023-12-01T14:24:05.000Z","size":60,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-01T23:57:25.853Z","etag":null,"topics":["customizable","devcontainer","development-environment","devenv","docker","docker-image","rstats","visual-studio-code","vscode","vscode-extension"],"latest_commit_sha":null,"homepage":"https://github.com/jimbrig/rdevcontainer","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/jimbrig.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2022-04-01T22:51:37.000Z","updated_at":"2023-10-06T14:28:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"3a25e3b4-b957-41d0-a793-95746b1d6ea7","html_url":"https://github.com/jimbrig/rdevcontainer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jimbrig/rdevcontainer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimbrig%2Frdevcontainer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimbrig%2Frdevcontainer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimbrig%2Frdevcontainer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimbrig%2Frdevcontainer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jimbrig","download_url":"https://codeload.github.com/jimbrig/rdevcontainer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimbrig%2Frdevcontainer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31761983,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T15:25:13.801Z","status":"ssl_error","status_checked_at":"2026-04-13T15:25:09.162Z","response_time":93,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["customizable","devcontainer","development-environment","devenv","docker","docker-image","rstats","visual-studio-code","vscode","vscode-extension"],"created_at":"2024-08-13T07:07:01.245Z","updated_at":"2026-04-13T16:33:12.488Z","avatar_url":"https://github.com/jimbrig.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"# R Development Container\n\n\u003e Repository housing my customized R development environment using Visual Studio Code's Development Containers feature.\n\nThis project serves the purpose of creating and maintaining an optimal development environment for R within a container based R environment using Visual Studio Code's devcontainers and various R features for interacting with VSCode.\n\nView this project's progression over time through its auto-generated [Changelog](CHANGELOG.md).\n\n\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n**Table of Contents**\n\n- [R Development Container](#r-development-container)\n  - [Features](#features)\n  - [Development Container Images](#development-container-images)\n  \t- [Dockerfile](#dockerfile)\n  - [Settings](#settings)\n  - [Extensions](#extensions)\n  \t- [Installations](#installations)\n  - [Notes](#notes)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n## Features\n\nCurrently the development environment runs with R version 4.1 and uses zsh as its default shell; radian is used as the default R terminal.\n\n## Development Container Images\n\nThe latest container images can be found in [this repository's package containers](https://github.com/jimbrig/rdevcontainer/pkgs/container/rdevcontainer).\n\nThese may be utilized locally by including the image as the base image in your own [devcontainer.json](.devcontainer/devcontainer.json) configuration file. \n\n- Pull image from the command line: `docker pull ghcr.io/jimbrig/rdevcontainer:latest`\n- Use as base image in Dockerfile: `FROM ghcr.io/jimbrig/rdevcontainer:latest`\n\nContainer Image Versions:\n\n- [rdevcontainer:latest](https://github.com/jimbrig/rdevcontainer/pkgs/container/rdevcontainer/18163217?tag=latest) - latest development container image\n- [rdevcontainer:v1.1.0](https://github.com/jimbrig/rdevcontainer/pkgs/container/rdevcontainer/18163217?tag=v1.1.0) - version 1.1.0 with additional packages and configurations added to the base image.\n- [rdevcontainer:v1.0.0](https://github.com/jimbrig/rdevcontainer/pkgs/container/rdevcontainer/18163185?tag=v1.0.0) - initial version of the container image primarily based off the R Community development container image.\n\n### Dockerfile\n\n\u003cdetails\u003e\u003csummary\u003eView the Latest Dockerfile\u003c/summary\u003e\u003cp\u003e\n\n```Dockerfile\n# R version:\nARG VARIANT=\"4.1\"\nFROM rocker/r-ver:${VARIANT}\n\n# Use the [Option] comment to specify true/false arguments that should appear in VS Code UX\n\n# [Option] Install zsh\nARG INSTALL_ZSH=\"true\"\n\n# [Option] Upgrade OS packages to their latest versions\nARG UPGRADE_PACKAGES=\"true\"\n\n# Install needed packages and setup non-root user. Use a separate RUN statement to add your own dependencies.\nARG USERNAME=vscode\nARG USER_UID=1000\nARG USER_GID=$USER_UID\n\nCOPY library-scripts/*.sh /tmp/library-scripts/\nCOPY .Rprofile ${HOME}/.Rprofile\n\nRUN apt-get update \u0026\u0026 export DEBIAN_FRONTEND=noninteractive \\\n    \u0026\u0026 /bin/bash /tmp/library-scripts/common-debian.sh \"${INSTALL_ZSH}\" \"${USERNAME}\" \"${USER_UID}\" \"${USER_GID}\" \"${UPGRADE_PACKAGES}\" \"true\" \"true\" \\\n    \u0026\u0026 usermod -a -G staff ${USERNAME} \\\n    \u0026\u0026 apt-get -y install \\\n        python3-pip \\\n        libgit2-dev \\\n        libcurl4-openssl-dev \\\n        libssl-dev \\\n        libxml2-dev \\\n        libxt-dev \\\n    \u0026\u0026 apt-get autoremove -y \u0026\u0026 apt-get clean -y \u0026\u0026 rm -rf /var/lib/apt/lists/* /tmp/library-scripts \\\n    \u0026\u0026 python3 -m pip --no-cache-dir install radian \\\n    \u0026\u0026 install2.r --error --skipinstalled --ncpus -1 \\\n        devtools \\\n        languageserver \\\n        httpgd \\\n        rstudioapi \\\n        tidyverse \\\n    \u0026\u0026 rm -rf /tmp/downloaded_packages\n\n# VSCode R Debugger dependency. Install the latest release version from GitHub without using GitHub API.\n# See https://github.com/microsoft/vscode-dev-containers/issues/1032\nRUN export TAG=$(git ls-remote --tags --refs --sort='version:refname' https://github.com/ManuelHentschel/vscDebugger v\\* | tail -n 1 | cut --delimiter='/' --fields=3) \\\n    \u0026\u0026 Rscript -e \"remotes::install_git('https://github.com/ManuelHentschel/vscDebugger.git', ref = '\"${TAG}\"', dependencies = FALSE)\"\n\n# R Session watcher settings.\n# See more details: https://github.com/REditorSupport/vscode-R/wiki/R-Session-watcher\nRUN echo 'source(file.path(Sys.getenv(\"HOME\"), \".vscode-R\", \"init.R\"))' \u003e\u003e ${R_HOME}/etc/Rprofile.site\n\n# [Optional] Uncomment this section to install additional OS packages.\n# RUN apt-get update \\\n#     \u0026\u0026 export DEBIAN_FRONTEND=noninteractive \\\n#     \u0026\u0026 apt-get -y install --no-install-recommends \u003cyour-package-list-here\u003e\n```\n\n\u003c/p\u003e\u003c/details\u003e\n\n## Settings\n\nFrom [devcontainer.json](.devcontainer/devcontainer.json): \n\n```json\n\"settings\": {\n\t\"r.rterm.linux\": \"/usr/local/bin/radian\",\n\t\"r.bracketedPaste\": true,\n\t\"r.plot.useHttpgd\": true,\n\t\"[r]\": {\n\t\t\"editor.defaultFormatter\": \"Ikuyadeu.r\",\n\t\t\"editor.formatOnSave\": true,\n\t\t\"editor.wordSeparators\": \"`~!@#%$^\u0026*()-=+[{]}\\\\|;:'\\\",\u003c\u003e/?\"\n\t},\n\t\"[rmd]\": {\n\t\t\"editor.defaultFormatter\": \"Ikuyadeu.r\",\n\t\t\"editor.formatOnSave\": true\n\t},\n\t\"C_Cpp.commentContinuationPatterns\": [\n\t\t\"/**\",\n\t\t\"//'\"\n\t],\n\t\"path-autocomplete.pathMappings\": {\n\t\t\"/\": \"/\",\n\t\t\"./\": \"${folder}\"\n\t}\n},\n```\n\n## Extensions\n\n- [R Extension for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=Ikuyadeu.r)\n\n- [R Debugger for VS Code](https://marketplace.visualstudio.com/items?itemName=RDebugger.r-debugger)\n\n- [Path Intellisense](https://marketplace.visualstudio.com/items?itemName=christian-kohler.path-intellisense) and [Path AutoComplete](https://marketplace.visualstudio.com/items?itemName=ionutvmi.path-autocomplete)\n\n- [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)\n\n- [shinysnip - Simple Shiny Code Snippets generator](https://marketplace.visualstudio.com/items?itemName=Mohamed-El-Fodil-Ihaddaden.shinysnip)\n\n- [C/C++](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools)\n\n- [Error Lens](https://marketplace.visualstudio.com/items?itemName=usernamehw.errorlens)\n\n- [Live Preview (New!)](https://marketplace.visualstudio.com/items?itemName=ms-vscode.live-server)\n\nFrom [devcontainer.json](.devcontainer/devcontainer.json):\n\n```json\n\"extensions\": [\n\t\"ikuyadeu.r\",\n\t\"rdebugger.r-debugger\",\n\t\"christian-kohler.path-intellisense\",\n\t\"ionutvmi.path-autocomplete\",\n\t\"esbenp.prettier-vscode\",\n\t\"Mohamed-El-Fodil-Ihaddaden.shinysnip\",\n\t\"ms-vscode.cpptools\",\n\t\"usernamehw.errorlens\",\n\t\"ms-vscode.live-server\"\n],\n```\n\n### Installations\n\nInitially only the following R Packages are installed with the devcontainer:\n\n- devtools\n- languageserver\n- httpgd\n- rstudioapi\n- tidyverse\n\nAdditionally, the Dockerfile runs the script: [common-debian.sh](./.devcontainer/library-scripts/common-debian.sh) to install system packages and other dependencies.\n\n## Notes\n\n- Utilize VSCode's [devcontainer-cli](https://code.visualstudio.com/docs/remote/devcontainer-cli) to manage devcontainer environments and images from the command line locally. This CLI tool can be installed directly fro the [Remote Containers Extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers).\n\n***\n\n*Table of Contents auto-generated thanks to [DocToc](https://github.com/thlorenz/doctoc)*  \n*[CHANGELOG.md](CHANGELOG.md) auto-generated thanks to [git-cliff](https://github.com/orhun/git-cliff)* \n\n\n***\n\nJimmy Briggs | 2022\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjimbrig%2Frdevcontainer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjimbrig%2Frdevcontainer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjimbrig%2Frdevcontainer/lists"}