shapely / Dockerfile
nghweigeok's picture
first commit
49eef15 verified
# Use a base image that includes both Python and R. rocker/r-ver is a popular choice for R, with an R base and Python installed.
FROM rocker/r-ver:4.1.0
# Install Python, pip, and system dependencies for your Python packages, e.g., for matplotlib.
# Dependencies being installed:
# - libfreetype6-dev, libxft-dev for matplotlib
# - libpcre2-dev for -lpcre2-8, liblzma-dev for -llzma, libbz2-dev for -lbz2, libicu-dev for -licuuc and -licui18n for rpy2 compilation requirements
RUN apt-get update && apt-get install -y \
python3-pip \
python3-dev \
libfreetype6-dev \
libxft-dev \
libpcre2-dev \
liblzma-dev \
libbz2-dev \
libicu-dev \
&& rm -rf /var/lib/apt/lists/*
# Install R packages
RUN R -e "install.packages(c('relaimpo', 'readxl', 'readr', 'lavaan', 'leaps', 'dplyr', 'tidyr'), repos='http://cran.rstudio.com/')"
# Copy the requirements.txt file, your app script, and the R script into the container.
COPY requirements.txt /requirements.txt
COPY app.py /app.py
COPY process_data.R /process_data.R
COPY example_files /example_files
COPY images /images
COPY data_source /data_source
# Install Python dependencies from requirements.txt.
RUN pip3 install --no-cache-dir -r /requirements.txt
# Expose the port Gradio runs on.
EXPOSE 7860
# Command to run your app.
CMD ["python3", "/app.py"]