diff --git a/.changeset/angry-paws-battle.md b/.changeset/angry-paws-battle.md new file mode 100644 index 00000000..69110e67 --- /dev/null +++ b/.changeset/angry-paws-battle.md @@ -0,0 +1,5 @@ +--- +'@e2b/code-interpreter-template': patch +--- + +Update R to 4.4 diff --git a/template/Dockerfile b/template/Dockerfile index 37841db2..b023150d 100644 --- a/template/Dockerfile +++ b/template/Dockerfile @@ -1,8 +1,5 @@ FROM python:3.10.14 -ENV JAVA_HOME=/opt/java/openjdk -ENV PATH="${JAVA_HOME}/bin:${PATH}" - RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y --no-install-recommends \ build-essential curl git util-linux jq sudo nodejs npm fonts-noto-cjk @@ -11,15 +8,19 @@ ENV PIP_DEFAULT_TIMEOUT=100 \ PIP_NO_CACHE_DIR=1 \ JUPYTER_CONFIG_PATH="/root/.jupyter" \ IPYTHON_CONFIG_PATH="/root/.ipython" \ - SERVER_PATH="/root/.server" + SERVER_PATH="/root/.server" \ + R_VERSION=4.4.2 + +ENV R_HOME=/opt/R/${R_VERSION} \ + JAVA_HOME=/opt/java/openjdk # Install Jupyter COPY ./requirements.txt requirements.txt RUN pip install --no-cache-dir -r requirements.txt && ipython kernel install --name "python3" --user # R Kernel -RUN apt-get update && apt-get install -y r-base -RUN R -e "install.packages('IRkernel')" +RUN curl -O https://cdn.rstudio.com/r/debian-12/pkgs/r-${R_VERSION}_1_amd64.deb && sudo apt-get update && sudo apt-get install -y ./r-${R_VERSION}_1_amd64.deb && ln -s ${R_HOME}/bin/R /usr/bin/R +RUN R -e "install.packages('IRkernel', repos='https://cloud.r-project.org')" RUN R -e "IRkernel::installspec(user = FALSE, name = 'r', displayname = 'R')" # Javascript Kernel @@ -63,6 +64,8 @@ COPY startup_scripts/* $IPYTHON_CONFIG_PATH/profile_default/startup COPY --from=eclipse-temurin:11-jdk $JAVA_HOME $JAVA_HOME +RUN ln -s ${JAVA_HOME}/bin/java /usr/bin/java + # Java Kernel RUN wget https://github.com/SpencerPark/IJava/releases/download/v1.3.0/ijava-1.3.0.zip && \ unzip ijava-1.3.0.zip && \ diff --git a/template/start-up.sh b/template/start-up.sh index b872d508..fb45f470 100644 --- a/template/start-up.sh +++ b/template/start-up.sh @@ -29,8 +29,6 @@ function start_jupyter_server() { /root/.server/.venv/bin/uvicorn main:app --host 0.0.0.0 --port 49999 --workers 1 --no-access-log --no-use-colors } -export PATH="/opt/java/openjdk/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" - echo "Starting Code Interpreter server..." start_jupyter_server & MATPLOTLIBRC=/root/.config/matplotlib/.matplotlibrc jupyter server --IdentityProvider.token="" >/dev/null 2>&1