Skip to content

Commit

Permalink
dockerfile vscode
Browse files Browse the repository at this point in the history
  • Loading branch information
jwijffels committed Dec 18, 2024
1 parent 1403e05 commit 3a413d4
Show file tree
Hide file tree
Showing 3 changed files with 107 additions and 1 deletion.
3 changes: 2 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ jobs:
- { tag: "inception-minio", dockerfile: "inception/inception-minio/Dockerfile", context: "inception/inception-minio"}
- { tag: "inception-minio-mariadb", dockerfile: "inception/inception-minio-mariadb/Dockerfile", context: "inception/inception-minio-mariadb"}
- { tag: "shinyproxy", dockerfile: "shinyproxy/Dockerfile", context: "shinyproxy"}
- { tag: "rstudio", dockerfile: "development/rstudio/Dockerfile", context: "development/rstudio"}
- { tag: "rstudio", dockerfile: "development/rstudio/Dockerfile", context: "development/rstudio"}
- { tag: "vscode", dockerfile: "development/vscode/Dockerfile", context: "development/vscode"}
- { tag: "prefect-example", dockerfile: "development/test/prefectexample/Dockerfile", context: "development/test/prefectexample"}
- { tag: "prefect-inspect", dockerfile: "development/test/prefectinspect/Dockerfile", context: "development/test/prefectinspect"}

Expand Down
82 changes: 82 additions & 0 deletions development/vscode/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
## Ubuntu 20.04 VS Code Server
FROM ghcr.io/rocker-org/rstudio:4.2.1 AS rstudio
FROM codercom/code-server:4.95.2-focal

USER root

ENV CRAN="https://p3m.dev/cran/__linux__/focal/latest"
ENV LANG=en_US.UTF-8
ENV R_VERSION="4.2.1"
ENV R_HOME="/usr/local/lib/R"
ENV TZ="Etc/UTC"

COPY --from=rstudio /rocker_scripts/bin/ /rocker_scripts/bin/
COPY --from=rstudio /rocker_scripts/install_R_source.sh /rocker_scripts/install_R_source.sh
COPY --from=rstudio /rocker_scripts/install_rstudio.sh /rocker_scripts/install_rstudio.sh
COPY --from=rstudio /rocker_scripts/install_s6init.sh /rocker_scripts/install_s6init.sh
COPY --from=rstudio /rocker_scripts/default_user.sh /rocker_scripts/default_user.sh
COPY --from=rstudio /rocker_scripts/init_set_env.sh /rocker_scripts/init_set_env.sh
COPY --from=rstudio /rocker_scripts/init_userconf.sh /rocker_scripts/init_userconf.sh
COPY --from=rstudio /rocker_scripts/pam-helper.sh /rocker_scripts/pam-helper.sh
COPY --from=rstudio /rocker_scripts/install_pandoc.sh /rocker_scripts/install_pandoc.sh
COPY --from=rstudio /rocker_scripts/install_quarto.sh /rocker_scripts/install_quarto.sh

COPY --from=rstudio /rocker_scripts/setup_R.sh /rocker_scripts/setup_R.sh
RUN /rocker_scripts/install_R_source.sh
RUN /rocker_scripts/setup_R.sh

RUN /rocker_scripts/install_rstudio.sh
RUN /rocker_scripts/install_pandoc.sh
RUN /rocker_scripts/install_quarto.sh


##
## System requirements
##
RUN DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get -y install tzdata
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
wget \
libcurl4-openssl-dev \
libssl-dev \
curl \
bash \
git \
pkg-config \
software-properties-common \
cmake \
&& rm -rf /var/lib/apt/lists/*


##
## Install Java 21 from eclipse-temurin (For connection to IRIS)
##
ENV JAVA_HOME=/opt/java/openjdk
COPY --from=eclipse-temurin:21 ${JAVA_HOME} ${JAVA_HOME}
ENV PATH="${JAVA_HOME}/bin:${PATH}"

##
## Intersystems database
##
RUN wget https://github.com/intersystems-community/iris-driver-distribution/raw/main/JDBC/JDK18/intersystems-jdbc-3.8.0.jar --output-document=intersystems-jdbc.jar

##
## Install uv
## Install Python 3.10 and Python package dependencies
##
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
RUN add-apt-repository ppa:deadsnakes/ppa
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
python3.10 python3.10-dev python3.10-distutils \
&& rm -rf /var/lib/apt/lists/*

RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1 && update-alternatives --config python3
COPY requirements.txt .
#RUN python3.10 -m pip install --no-cache-dir -r requirements.txt
#RUN python3 -m pip install --no-cache-dir -r requirements.txt
RUN uv pip install --system --no-cache-dir -r requirements.txt
RUN uv pip install --system pip


USER coder
23 changes: 23 additions & 0 deletions development/vscode/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
## Backend
pandas
numpy<=1.26.4
pycaprio @ git+https://github.com/JavierLuna/[email protected]#egg=pycaprio
dkpro-cassis==0.9.1
spacy
torch
biopython==1.83.0
jaydebeapi
minio
podman
attrs
pydantic==1.10.11
urllib3==1.26.15
requests-toolbelt==0.10.1
#prefect-ray
prefect-dask
faker==24.0.0
dateparser==1.2.0
babel==2.14.0
python-dotenv==1.0.1
## Frontend
shiny>=0.9.0

0 comments on commit 3a413d4

Please sign in to comment.