XRachel commited on
Commit
2ea9cac
·
verified ·
1 Parent(s): d5ed57f

Upload Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +35 -0
Dockerfile ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.10-slim
2
+
3
+ ENV DEBIAN_FRONTEND=noninteractive
4
+ ENV PYTHONDONTWRITEBYTECODE=1
5
+ ENV PYTHONUNBUFFERED=1
6
+
7
+ # Gradio on HF Spaces
8
+ ENV GRADIO_SERVER_NAME=0.0.0.0
9
+ ENV GRADIO_SERVER_PORT=7860
10
+
11
+ # System deps: R + common build deps for R/Python packages
12
+ RUN apt-get update && apt-get install -y --no-install-recommends r-base r-base-dev build-essential curl git libcurl4-openssl-dev libssl-dev libxml2-dev && rm -rf /var/lib/apt/lists/*
13
+
14
+ # Install required R packages (for ranalysis.ipynb)
15
+ RUN R -e "install.packages(c('forecast','ggplot2','jsonlite','readr','dplyr','tidyr','stringr','lubridate','broom'), repos='https://cloud.r-project.org')"
16
+
17
+ WORKDIR /app
18
+
19
+ # Install Python deps early for better caching
20
+ COPY requirements.txt /app/requirements.txt
21
+ RUN pip install --no-cache-dir -r requirements.txt
22
+
23
+ # Notebook execution + kernels (papermill is required by app.py)
24
+ RUN pip install --no-cache-dir notebook ipykernel papermill
25
+ RUN python -m ipykernel install --user --name python3 --display-name "Python 3"
26
+
27
+ # R kernel for Jupyter (optional but helpful if you later execute R via notebooks)
28
+ RUN R -e "install.packages('IRkernel', repos='https://cloud.r-project.org/')"
29
+ RUN R -e "IRkernel::installspec(user = FALSE)"
30
+
31
+ # Copy the rest of the app
32
+ COPY . /app
33
+
34
+ EXPOSE 7860
35
+ CMD ["python", "app.py"]