Spaces:
Sleeping
Sleeping
| FROM ubuntu:18.04 | |
| # Set environment variables | |
| ENV NB_USER=jovyan | |
| ENV NB_UID=1000 | |
| ENV HOME=/home/${NB_USER} | |
| ENV JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/ | |
| # Install required system packages and Python 3.6 | |
| RUN apt-get update && apt-get install -y \ | |
| software-properties-common \ | |
| wget \ | |
| curl \ | |
| tar \ | |
| bash \ | |
| rsync \ | |
| gcc \ | |
| libfreetype6-dev \ | |
| libhdf5-dev \ | |
| libpng-dev \ | |
| libzmq5-dev \ | |
| unzip \ | |
| pkg-config \ | |
| graphviz \ | |
| openjdk-8-jdk \ | |
| python3.5 \ | |
| python3.5-dev \ | |
| python3-pip \ | |
| ant \ | |
| ca-certificates \ | |
| && apt-get clean \ | |
| && update-ca-certificates -f | |
| # Upgrade pip for Python 3.6 | |
| RUN python3.5 -m pip install --upgrade pip setuptools | |
| # Install Python dependencies | |
| COPY requirements.txt /tmp/requirements.txt | |
| RUN python3.5 -m pip install --no-cache-dir -r /tmp/requirements.txt | |
| # Create a new user | |
| RUN useradd -m -u ${NB_UID} ${NB_USER} | |
| # Switch to the new user | |
| USER ${NB_USER} | |
| # Set user-specific environment variables | |
| ENV HOME=/home/${NB_USER} | |
| ENV PATH=/home/${NB_USER}/.local/bin:$PATH | |
| # Copy application code to the container | |
| 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"] | |