# Updating the Dockerfile to support newer a R version

**URL:** <https://support.openanalytics.eu/t/updating-the-dockerfile-to-support-newer-a-r-version/788>\
**Category:** ShinyProxy\
**Created:** [October 29, 2018, 11:19am UTC](https://support.openanalytics.eu/t/updating-the-dockerfile-to-support-newer-a-r-version/788 "2018-10-29T11:19:20Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![fifthace](https://support.openanalytics.eu/user_avatar/support.openanalytics.eu/fifthace/32/439_2.png) [@fifthace](https://support.openanalytics.eu/u/fifthace)\
**Post date:** [October 29, 2018, 11:19am UTC](https://support.openanalytics.eu/t/updating-the-dockerfile-to-support-newer-a-r-version/788/1 "2018-10-29T11:19:20Z")

</div>

The openanalytics/r-base Docker image used by ShinyProxy is based on R version 3.4.4 from March this year. This morning I tried building an image that includes the pacman package. This build failed because pacman now requires R version 3.5 or greater.

Since the openanalytics image is largely based upon the rocker r-base image (which currently runs R 3.5.1), I’ve tried to update it with a new version, but I’m not experienced enough to get the Dockerfile working. Here’s my attempt:

```
# Could be ubuntu:18.04. Why not Debian as in rocker/r-base?
FROM ubuntu:16.04

MAINTAINER "Tobias Verbeke" tobias.verbeke@openanalytics.eu

## Add user to 'staff' group, granting them write privileges to /usr/local/lib/R/site.library
RUN useradd docker \
        && mkdir /home/docker \
        && chown docker:docker /home/docker \
        && addgroup docker staff

RUN apt-get update \ 
        && apt-get install -y --no-install-recommends \
                ed \
                less \
                locales \
                vim-tiny \
                wget \
                ca-certificates \
                apt-transport-https \
                gsfonts \
        && rm -rf /var/lib/apt/lists/*

## I added this to get apt-key adv working:
RUN apt-get update && apt-get install -my wget gnupg

## Configure default locale, see https://github.com/rocker-org/rocker/issues/19
RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen \
        && locale-gen en_US.utf8 \
        && /usr/sbin/update-locale LANG=en_US.UTF-8

ENV LC_ALL en_US.UTF-8
ENV LANG en_US.UTF-8

## Here I changed the repository for the new version of R, because I don't understand 'pinning'.
RUN echo sudo add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/'
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9

ENV R_BASE_VERSION 3.5.1

## Now install R and littler, and create a link for littler in /usr/local/bin
## Also set a default CRAN repo, and make sure littler knows about it too
RUN apt-get update \
        && apt-get install -y --no-install-recommends \
                littler\
                r-cran-littler \
                r-base=${R_BASE_VERSION}* \
                r-base-dev=${R_BASE_VERSION}* \
                r-recommended=${R_BASE_VERSION}* \
        && echo 'options(repos = c(CRAN = "https://cloud.r-project.org/"), download.file.method = "libcurl")' >> /etc/R/Rprofile.site \
        && echo 'source("/etc/R/Rprofile.site")' >> /etc/littler.r \
        && ln -s /usr/share/doc/littler/examples/install.r /usr/local/bin/install.r \
        && ln -s /usr/share/doc/littler/examples/install2.r /usr/local/bin/install2.r \
        && ln -s /usr/share/doc/littler/examples/installGithub.r /usr/local/bin/installGithub.r \
        && ln -s /usr/share/doc/littler/examples/testInstalled.r /usr/local/bin/testInstalled.r \
        && install.r docopt \
        && rm -rf /tmp/downloaded_packages/ /tmp/*.rds \
        && rm -rf /var/lib/apt/lists/*

CMD ["R"]

# system libraries of general use
RUN apt-get update && apt-get install -y \
    sudo \
    pandoc \
    pandoc-citeproc \
    libcurl4-gnutls-dev \
    libcairo2-dev \
    libxt-dev \
    libssl-dev \
    libssh2-1-dev \
    libxml2-dev \
    libssl1.0.0 \
    libpq-dev \
    git

# basic shiny functionality
RUN R -e "install.packages(c('pacman'), repos='https://cloud.r-project.org/')"

# copy the app to the image
RUN mkdir /root/app
COPY benchmarking /root/app

COPY Rprofile.site /usr/lib/R/etc/

EXPOSE 3838

CMD ["R", "-e", "shiny::runApp('/root/app')"]

```

The Docker build fails when trying to install R and littler with the following error:

```
E: Version '3.5.1*' for 'r-base' was not found
E: Version '3.5.1*' for 'r-base-dev' was not found
E: Version '3.5.1*' for 'r-recommended' was not found

```

Can anyone help me in the right direction here? Or should I rather open an issue on Github? I think this will be an issue for many ShinyProxy users going forward. Should I attempt a quick fix by installing old packages or compiling them from source?

---

<div class="post-metadata">

**Author:** ![BetweenTwoTests](https://support.openanalytics.eu/letter_avatar_proxy/v4/letter/b/f19dbf/32.png) [@BetweenTwoTests](https://support.openanalytics.eu/u/BetweenTwoTests)\
**Post date:** [January 18, 2019, 7:51pm UTC](https://support.openanalytics.eu/t/updating-the-dockerfile-to-support-newer-a-r-version/788/2 "2019-01-18T19:51:09Z")

</div>

+1 . I think openanalytics/r-base could use an update (if possible)

---

<div class="post-metadata">

**Author:** ![tverbeke](https://support.openanalytics.eu/letter_avatar_proxy/v4/letter/t/d9b06d/32.png) [@tverbeke](https://support.openanalytics.eu/u/tverbeke)\
**Post date:** [January 24, 2019, 9:50pm UTC](https://support.openanalytics.eu/t/updating-the-dockerfile-to-support-newer-a-r-version/788/3 "2019-01-24T21:50:58Z")

</div>

Hello @fifthace @BetweenTwoTests,

You are right an update was due - updated now to Ubuntu 18.04 and R 3.5.2 at

[https://cloud.docker.com/u/openanalytics/repository/docker/openanalytics/r-base](https://cloud.docker.com/u/openanalytics/repository/docker/openanalytics/r-base)

Best,  
Tobias

---

<div class="post-metadata">

**Author:** ![pabgamu](https://support.openanalytics.eu/letter_avatar_proxy/v4/letter/p/c67d28/32.png) [@pabgamu](https://support.openanalytics.eu/u/pabgamu)\
**Post date:** [September 10, 2019, 2:53pm UTC](https://support.openanalytics.eu/t/updating-the-dockerfile-to-support-newer-a-r-version/788/4 "2019-09-10T14:53:33Z")

</div>

Good afternoon @tverbeke,

Do you plan to update r-base docker image in the short term ? I saw github repo has been updated but not Dockerhub.  
Do you release updates on a regular basis, or this is not planned ?

Thanks in advance,

Pablo

---

<div class="post-metadata">

**Author:** ![tverbeke](https://support.openanalytics.eu/letter_avatar_proxy/v4/letter/t/d9b06d/32.png) [@tverbeke](https://support.openanalytics.eu/u/tverbeke)\
**Post date:** [September 10, 2019, 7:26pm UTC](https://support.openanalytics.eu/t/updating-the-dockerfile-to-support-newer-a-r-version/788/5 "2019-09-10T19:26:42Z")

</div>

Hi @pabgamu,

Thank you for your request. The repository and Docker hub have been updated to R 3.6.1.

Best,  
Tobias

---

<div class="post-metadata">

**Author:** ![pabgamu](https://support.openanalytics.eu/letter_avatar_proxy/v4/letter/p/c67d28/32.png) [@pabgamu](https://support.openanalytics.eu/u/pabgamu)\
**Post date:** [September 11, 2019, 8:17am UTC](https://support.openanalytics.eu/t/updating-the-dockerfile-to-support-newer-a-r-version/788/6 "2019-09-11T08:17:19Z")

</div>

Good morning @tverbeke,

Thanks a lot for this fast update.

Best,  
Pablo.

---

<div class="post-metadata">

**Author:** ![Ekrem\_Bayar](https://support.openanalytics.eu/user_avatar/support.openanalytics.eu/ekrem_bayar/32/788_2.png) [@Ekrem\_Bayar](https://support.openanalytics.eu/u/Ekrem_Bayar)\
**Post date:** [February 15, 2024, 1:23pm UTC](https://support.openanalytics.eu/t/updating-the-dockerfile-to-support-newer-a-r-version/788/7 "2024-02-15T13:23:04Z")

</div>

Hi @tverbeke,

[The last Dockerfile on GitHub](https://github.com/openanalytics/r-base/blob/master/Dockerfile) includes 4.0.5 version of R. Some packages need to be greater than 4.0.5 version. I’ve just tried to change ubuntu version and R version in Dockerfile without other changings. While building dockerfile fails. In order to understand the problem, I tried to build [Dockerfile itself in openanalytics/r-base](https://github.com/openanalytics/r-base/blob/master/Dockerfile) first. However, as you can see the image below, `E: Version '4.0.5*' for 'r-base-core' was not found` error seems.

 ![image](https://support.openanalytics.eu/uploads/default/original/1X/9e4697907a12b562d280fada22630c84b8aea55b.jpeg)

What issue can affect building dockerfile in this stage?

Thanks in advanve.

---

<div class="post-metadata">

**Author:** ![tverbeke](https://support.openanalytics.eu/letter_avatar_proxy/v4/letter/t/d9b06d/32.png) [@tverbeke](https://support.openanalytics.eu/u/tverbeke)\
**Post date:** [February 16, 2024, 2:15pm UTC](https://support.openanalytics.eu/t/updating-the-dockerfile-to-support-newer-a-r-version/788/8 "2024-02-16T14:15:34Z")

</div>

Hi @Ekrem_Bayar,

For all or our purposes, we switched to using our `openanalytics/r-ver` images. See [https://hub.docker.com/r/openanalytics/r-ver/tags](https://hub.docker.com/r/openanalytics/r-ver/tags) and [https://github.com/openanalytics/r-ver](https://github.com/openanalytics/r-ver) for the source. If you found a reference still using `openanalytics/r-base`, please let us know and we will update the relevant documentation.

Good luck!

Best,  
Tobias

---

<div class="post-metadata">

**Author:** ![Ekrem\_Bayar](https://support.openanalytics.eu/user_avatar/support.openanalytics.eu/ekrem_bayar/32/788_2.png) [@Ekrem\_Bayar](https://support.openanalytics.eu/u/Ekrem_Bayar)\
**Post date:** [February 16, 2024, 2:51pm UTC](https://support.openanalytics.eu/t/updating-the-dockerfile-to-support-newer-a-r-version/788/9 "2024-02-16T14:51:30Z")

</div>

Thanks a lot to share with us this important information. @tverbeke

In the image example in the [“Write a Docker file”](https://www.shinyproxy.io/documentation/deploying-apps/) section of the Shinyproxy documentation `openanalytics/r-base` had been used instead of `openanalytics/r-ver`. That’s why, I knew that the image must have been `openanalytics/r-base`. However, the GitHub link given us in the documentation includes Dockerfile and it uses `openanalytics/r-ver` image as you mentioned. I have not realized before that the correct usage must be `openanalytics/r-ver`.

It would be great if you could update this part of documentation to prevent misunderstanding.

 ![image](https://support.openanalytics.eu/uploads/default/original/1X/f52f139b8bf1293dfc916c2a8eab363c279bff15.jpeg)  
 ![image](https://support.openanalytics.eu/uploads/default/original/1X/9f572ec83b5eb7a7416a394d3f7e2eb7ccfcd05e.jpeg)

Best,  
Ekrem.

---

<div class="post-metadata">

**Author:** ![tdekoninck](https://support.openanalytics.eu/user_avatar/support.openanalytics.eu/tdekoninck/32/1079_2.png) [@tdekoninck](https://support.openanalytics.eu/u/tdekoninck)\
**Post date:** [May 21, 2024, 2:05pm UTC](https://support.openanalytics.eu/t/updating-the-dockerfile-to-support-newer-a-r-version/788/10 "2024-05-21T14:05:15Z")

</div>

Thanks again for reporting this, in the meantime we updated the page to use be similar to [https://github.com/openanalytics/shinyproxy-shiny-demo-minimal](https://github.com/openanalytics/shinyproxy-shiny-demo-minimal)
