-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathDockerfile
37 lines (25 loc) · 1.21 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
ARG BASE=quay.io/jupyter/minimal-notebook:ubuntu-24.04
# cuda image uses:
# ARG BASE=quay.io/jupyter/pytorch-notebook:cuda12-ubuntu-24.04
FROM $BASE
# Make code-server extensions etc persist to container, not hub
ENV XDG_DATA_HOME=/opt/share
USER root
# code-server (VSCode)
RUN curl -fsSL https://code-server.dev/install.sh | sh && rm -rf .cache
# apt utilities, code-server setup
RUN curl -s https://raw.githubusercontent.com/rocker-org/ml/refs/heads/master/install_utilities.sh | bash
# Install R, RStudio
RUN curl -s https://raw.githubusercontent.com/rocker-org/ml/refs/heads/master/install_r.sh | bash
RUN curl -s https://raw.githubusercontent.com/rocker-org/ml/refs/heads/master/install_rstudio.sh | bash
## Add rstudio's binaries to path for quarto
ENV PATH=$PATH:/usr/lib/rstudio-server/bin/quarto/bin
# When run as root, install.r automagically handles any necessary apt-gets
COPY install.r install.r
RUN Rscript install.r
USER ${NB_USER}
COPY vscode-extensions.txt vscode-extensions.txt
RUN xargs -n 1 code-server --install-extension < vscode-extensions.txt
COPY environment.yml environment.yml
RUN conda update --all --solver=classic -n base -c conda-forge conda && \
conda env update --file environment.yml