Spaces:
Sleeping
Sleeping
| # Download base image ubuntu 18.04 | |
| FROM ubuntu:18.04 | |
| # Set environment variables | |
| ENV NB_USER jovyan | |
| ENV NB_UID 1000 | |
| ENV HOME /home/${NB_USER} | |
| # Install required packages | |
| RUN apt-get update && apt-get install -y \ | |
| tar \ | |
| wget \ | |
| bash \ | |
| rsync \ | |
| gcc \ | |
| libfreetype6-dev \ | |
| libhdf5-serial-dev \ | |
| libpng-dev \ | |
| libzmq3-dev \ | |
| python3 \ | |
| python3-dev \ | |
| python3-pip \ | |
| unzip \ | |
| pkg-config \ | |
| software-properties-common \ | |
| graphviz \ | |
| openjdk-8-jdk \ | |
| ant \ | |
| ca-certificates-java \ | |
| && apt-get clean \ | |
| && update-ca-certificates -f; | |
| # Install Python 3.8 and pip | |
| RUN add-apt-repository ppa:deadsnakes/ppa \ | |
| && apt-get update \ | |
| && apt-get install -y python3.8 python3-pip \ | |
| && apt-get clean; | |
| # Set up JAVA_HOME | |
| ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/ | |
| RUN mkdir -p ${HOME} \ | |
| && echo "export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/" >> ${HOME}/.bashrc \ | |
| && chown -R ${NB_UID}:${NB_UID} ${HOME} | |
| # 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 the working directory to the user's home directory | |
| WORKDIR ${HOME} | |
| # Upgrade pip and install Python dependencies | |
| RUN python3.8 -m pip install --upgrade pip | |
| COPY requirements.txt /tmp/requirements.txt | |
| RUN python3.8 -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", "Demo.py", "--server.port=7860", "--server.address=0.0.0.0"] |