Spaces:
Running
Running
File size: 1,972 Bytes
9911f20 2513a22 b3f566d e05e0b8 2513a22 8fabeee e05e0b8 7521bab 5aad8c2 8fabeee e05e0b8 cc6a9bb e05e0b8 9911f20 e05e0b8 6c68cf8 e05e0b8 2513a22 e05e0b8 5aad8c2 e05e0b8 9b1d12d 9911f20 5aad8c2 83179cd 0e15413 7521bab 2513a22 7521bab 9911f20 7521bab e05e0b8 0584773 e05e0b8 29cb98d 9911f20 2513a22 7521bab e05e0b8 2513a22 e05e0b8 2513a22 2ba9f9a e05e0b8 7a77c92 b3f566d 2ba9f9a 9911f20 |
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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# Download base image: latest Ubuntu LTS
FROM ubuntu:22.04
# Set environment variables
ENV NB_USER jovyan
ENV NB_UID 1000
ENV HOME /home/${NB_USER}
ENV JAVA_HOME /usr/lib/jvm/java-17-openjdk-amd64/
ENV DEBIAN_FRONTEND=noninteractive
# Install required packages
RUN apt-get update && apt-get install -y \
tzdata \
tar \
wget \
bash \
rsync \
gcc \
libfreetype6-dev \
libhdf5-dev \
libpng-dev \
libzmq3-dev \
python3 \
python3-dev \
python3-pip \
unzip \
pkg-config \
software-properties-common \
graphviz \
openjdk-17-jdk \
ant \
ca-certificates-java \
gnupg \
&& apt-get clean \
&& update-ca-certificates -f
# Install Python 3.11 (latest stable version)
RUN apt-get install -y python3.11 python3.11-venv python3.11-dev python3-pip \
&& apt-get clean
# Set up JAVA_HOME
RUN echo "export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64/" >> /etc/profile \
&& echo "export PATH=\$JAVA_HOME/bin:\$PATH" >> /etc/profile
# Create a new user named "jovyan" with user ID 1000
RUN useradd -m -u ${NB_UID} ${NB_USER}
# Switch to the "jovyan" user
USER ${NB_USER}
# Set home and path variables for the user
ENV HOME=/home/${NB_USER} \
PATH=/home/${NB_USER}/.local/bin:$PATH
# Set up PySpark to use Python 3.11 for both driver and workers
ENV PYSPARK_PYTHON=/usr/bin/python3.11
ENV PYSPARK_DRIVER_PYTHON=/usr/bin/python3.11
# Set the working directory to the user's home directory
WORKDIR ${HOME}
# Upgrade pip and install Python dependencies
RUN python3.11 -m pip install --upgrade pip
COPY requirements.txt /tmp/requirements.txt
RUN python3.11 -m pip install -r /tmp/requirements.txt
# Copy the application code into the container at /home/jovyan
COPY --chown=${NB_USER}:${NB_USER} . ${HOME}
# Expose port for Streamlit
EXPOSE 7860
# Define the entry point for the container
ENTRYPOINT ["streamlit", "run", "app.py", "--server.port=7860", "--server.address=0.0.0.0"]
|