rocker-org / rocker-versioned2

Run current & prior versions of R using docker. rocker/r-ver, rocker/rstudio, rocker/shiny, rocker/tidyverse, and so on.
https://rocker-project.org
GNU General Public License v2.0
390 stars 163 forks source link

arm support for tidyverse, verse, geospatial? #830

Open jpvelez opened 2 weeks ago

jpvelez commented 2 weeks ago

Container image name

rocker/tidyverse, rocker/verse, rocker/geospatial

Container image digest

No response

What operating system related to this question?

Linux

System information

No response

Question

Hi folks,

Rocker is totally amazing; thank you so much for all your hard work! We're a climate think tank that mostly uses R but also occasionally python, and we all run apple-silicon macs.

Our current image looks like this:

FROM rocker/rstudio:4.3.3

# Adds tidyverse packages & devtools
RUN /rocker_scripts/install_tidyverse.sh

# Adds geospatial packages
# required by geojsonsf package
RUN R -e 'install.packages("jsonify")'
RUN /rocker_scripts/install_geospatial.sh

# Adds python and jupyter
RUN /rocker_scripts/install_python.sh
RUN /rocker_scripts/install_jupyter.sh
# Put python venv on PATH
RUN export PATH="/opt/venv/bin:$PATH"
# Install python3 kernel for quarto
RUN pip install ipykernel
RUN pip install --upgrade pip

# Adds quarto
RUN /rocker_scripts/install_quarto.sh latest

# Install light-weight tex distribution
RUN curl -sL "https://yihui.org/tinytex/install-bin-unix.sh" | sh

In other words, we use the rocker install scripts to essentially recreate rocker/geospatial with python installed. We do this because currently, rocker's arm support seems to stop at rocker/rstudio.

Is there any chance of supporting arm throughout the stack? With apple silicon macs becoming more common, I think a lot of folks would find this very useful!

eitsupi commented 2 weeks ago

Is there any chance of supporting arm throughout the stack?

The current problem is that some R packages such as arrow and duckdb take a long time to build. See #144.

Build times may be reduced when P3M starts providing arm64 binaries or when the arm64 runner is available on GitHub Actions (end of 2024).

benz0li commented 2 weeks ago

Is there any chance of supporting arm throughout the stack?

The current problem is that some R packages such as arrow and duckdb take a long time to build. See #144.

Build times may be reduced when P3M starts providing arm64 binaries or when the arm64 runner is available on GitHub Actions (end of 2024).

@jpvelez Until then, have a look at b-data's/my multi-arch (linux/amd64, linux/arm64/v8) JupyterLab R docker stack which includes RStudio for R versions ≥ 4.4.0.