{"id":13706975,"url":"https://github.com/nuest/rocker-win","last_synced_at":"2025-09-17T10:32:15.207Z","repository":{"id":146971660,"uuid":"125192037","full_name":"nuest/rocker-win","owner":"nuest","description":"Proof-of-concept for R in Windows containers","archived":false,"fork":false,"pushed_at":"2019-12-19T09:17:17.000Z","size":50,"stargazers_count":19,"open_issues_count":5,"forks_count":1,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-12-29T15:01:59.636Z","etag":null,"topics":["docker","dockerfile","r","r-project","rocker","rstats","windows","windows-server"],"latest_commit_sha":null,"homepage":"https://doi.org/10.5281/zenodo.3584107","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nuest.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-03-14T10:00:23.000Z","updated_at":"2023-06-04T08:14:24.000Z","dependencies_parsed_at":"2024-01-14T20:34:15.449Z","dependency_job_id":null,"html_url":"https://github.com/nuest/rocker-win","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuest%2Frocker-win","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuest%2Frocker-win/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuest%2Frocker-win/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuest%2Frocker-win/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nuest","download_url":"https://codeload.github.com/nuest/rocker-win/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233368364,"owners_count":18665723,"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","dockerfile","r","r-project","rocker","rstats","windows","windows-server"],"created_at":"2024-08-02T22:01:13.984Z","updated_at":"2025-09-17T10:32:09.863Z","avatar_url":"https://github.com/nuest.png","language":"Dockerfile","funding_links":[],"categories":["Dockerfile"],"sub_categories":[],"readme":"# rocker-win\n\n[![Project Status: Concept – Minimal or no implementation has been done yet, or the repository is only intended to be a limited example, demo, or proof-of-concept.](https://www.repostatus.org/badges/latest/concept.svg)](https://www.repostatus.org/#concept) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3584107.svg)](https://doi.org/10.5281/zenodo.3584107)\n\nProof of concept for running [R](https://www.r-project.org/) in [Windows Containers](https://docs.microsoft.com/en-us/virtualization/windowscontainers/about/index) with [Docker for Windows](https://docs.docker.com/docker-for-windows/).\nIt provides selected images based on [`microsoft/windowsservercore`](https://hub.docker.com/r/microsoft/windowsservercore/), using various base images and exploring automated builds on different platforms.\n\n## Available images\n\nThis little side-project is currently for exploration only, therefore not all bugfix versions of R are re-build regularly.\nThe base images are limited by the availability of Microsoft Windows Server versions of public CI platforms, since I have only limited access to Windows myself.\n\n[![](https://images.microbadger.com/badges/image/nuest/rocker-win.svg)](https://microbadger.com/images/nuest/rocker-win \"Get your own image badge on microbadger.com\") [![](https://images.microbadger.com/badges/version/nuest/rocker-win.svg)](https://microbadger.com/images/nuest/rocker-win \"Get your own version badge on microbadger.com\")\n\nSee also [Windows Container Version Compatibility](https://docs.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/version-compatibility).\n\n### Windows Server 2019\n\nBase image: `mcr.microsoft.com/windows/servercore:ltsc2019`\n\nBuilt by Appveyor: [![Build status](https://ci.appveyor.com/api/projects/status/y0jvpgsrl00wqe5i?svg=true)](https://ci.appveyor.com/project/nuest/rocker-win)\n\nImages:\n\n- `nuest/rocker-win:ltsc2019-3.6.2`\n- `nuest/rocker-win:ltsc2019-latest`\n- `nuest/rocker-win:latest`\n\n### Windows Server 2016\n\nBase image: `microsoft/windowsservercore:ltsc2016`\n\nBuilt by Appveyor: [![Build status](https://ci.appveyor.com/api/projects/status/y0jvpgsrl00wqe5i?svg=true)](https://ci.appveyor.com/project/nuest/rocker-win)\n\nImages:\n\n- `nuest/rocker-win:ltsc2016-3.4.4`\n- `nuest/rocker-win:ltsc2016-3.5.3`\n- `nuest/rocker-win:ltsc2016-latest`\n\n###  Windows Server 1803\n\nBase image: `microsoft/windowsservercore:1803`\n\nBuilt by Travis CI: [![Build Status](https://travis-ci.org/nuest/rocker-win.svg?branch=master)](https://travis-ci.org/nuest/rocker-win)\n\nImages:\n\n- `nuest/rocker-win:1803-3.5.3`\n- `nuest/rocker-win:1803-latest`\n\n### R versions\n\nEach minor version has it's own `Dockerfile` in a directory named as the version number, e.g. `3.5`.\n\n_Images updates on Docker Hub are triggered manually._\n\n## Build locally\n\nDepending on the Windows Server/Windows 10 version you have, pick a suitable Dockerfile and build it:\n\n```\ndocker build --tag rocker-win:3.6.2 --file ltsc2016/3.6.2/Dockerfile .\n```\n\nThe CI configuration files `.travis.yml` and `appveyor.yml` contain more examples.\n\n_On my personal Windows 10 Professional, I was able to build images using all the platform variants (`ltsc2019`, `ltsc206`, and `1803`)._\n\n## Use\n\nRemove the `nuest/` from image names to use locally built images.\n\n```\ndocker run --rm -it nuest/rocker-win\n\n# get a PowerShell in the container with a specific Windows and R version\ndocker run --rm -it nuest/rocker-win:ltsc2016-3.6.2 powershell.exe\n\n# run Rscript\ndocker run --rm -it rocker-win Rscript.exe -e \"1+1\"\n```\n\nAll images include [micro](https://micro-editor.github.io/) as a terminal-based text editor, see its [commands](https://github.com/zyedidia/micro/blob/master/runtime/help/commands.md) when you want to edit some files within the container.\n\n## Demos and use cases\n\nLinux containers seem like the better way to go for R: they are more lightweight, the [Rocker](https://www.rocker-project.org/) stack of images is excellently maintained and hardened as well as flexible.\nHowever, one potential use case is the deployment of R-based web applications alongside Windows containers in an organisation which already runs Windows Containers.\nInstead of battling with the admin or operations teams, R developers may provide an alternative to get their work out.\nThe following demos showcase this use case with two popular web application frameworks for R, and demonstrates the easy use of packages for spatial analysis with complex library dependencies.\n\n- [Plumber](demo/plumber/README.md)\n- [Shiny](demo/shiny/README.md)\n- [sf](demo/sf/README.md)\n\n## Automated Builds\n\nDepending on the available Windows installation (see [Windows Container Version Compatibility](https://docs.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/version-compatibility)), the following platforms support building of different Windows-based images.\nThe automated builds are partly for validating the Dockerfiles work, while some also deploy the images to Docker Hub.\n\n### Docker Hub\n\nThe automatic image builds depend on Appveyor because [Docker Hub does not support Windows containers](https://docs.docker.com/docker-hub/builds/#limitations), at least [AFAIK](https://forums.docker.com/t/automated-windows-builds/24192/5).\n\n### Building on Appveyor\n\n[![Build status](https://ci.appveyor.com/api/projects/status/y0jvpgsrl00wqe5i?svg=true)](https://ci.appveyor.com/project/nuest/rocker-win)\n\n[Appveyor runs Windows Server 2016 and 2019](https://www.appveyor.com/docs/windows-images-software/#operating-system) and supports different versions of Docker, including \"experimental mode\" for the latter one.\n\n**2016**\n\nDocker CE 18.05.0-ce for Windows and Linux, with docker-compose 1.16.1\n\nUsed base image in this repo: `microsoft/windowsservercore:ltsc2016`\n\n**2019**\n\nDocker CE 19.03.5 for Windows, wich docker-compose 1.24.1\n\nUsed base image in this repo: `mcr.microsoft.com/windows/servercore:ltsc2019`\n\n_Note:_ This Appveyor image also has `mcr.microsoft.com/windows/servercore:ltsc2016` base images available, so the whole `ltsc2016` image stack could also be built here.\n\n### Building on Travis CI\n\n[![Build Status](https://travis-ci.org/nuest/rocker-win.svg?branch=master)](https://travis-ci.org/nuest/rocker-win)\n\nTravis CI supports [Windows Server, version 1803](https://docs.travis-ci.com/user/reference/windows/)).\n[`ltsc2016`-based image building fails](https://travis-ci.org/nuest/rocker-win/builds/446036668).\n\n## Resources\n\n- https://docs.docker.com/docker-for-windows/\n- https://store.docker.com/search?operating_system=windows\u0026q=\u0026source=verified\u0026type=image\n- https://github.com/StefanScherer/dockerfiles-windows and https://hub.docker.com/r/stefanscherer\n- https://stefanscherer.github.io/setup-windows-docker-ci-appveyor/\n- https://stefanscherer.github.io/use-appveyor-to-build-multi-arch-docker-image/\n\n## Contribute\n\n_Your contributions are welcome!_\nThis repository really is mostly a proof-of-concept, but I'd be happy to support anyone who wants to turn this into a suite of images aspiring to the [Rocker Project](https://www.rocker-project.org/).\n\nNote this project has a [Code of Conduct](CODE_OF_CONDUCT.md).\n\n## License\n\nContributions in this repository are published under MIT license (see file LICENSE).\nSee file `C:\\license.txt` in the container for the [Microsoft images and container license/EULA](https://docs.microsoft.com/en-us/virtualization/windowscontainers/images-eula).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnuest%2Frocker-win","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnuest%2Frocker-win","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnuest%2Frocker-win/lists"}