Spaces:
Running
Running
James McCool
Enhance Dockerfile and Streamlit app configuration by adding user management and environment variable handling for MongoDB connection. Introduce secrets management for sensitive data and update requirements installation process. New secrets.toml file created for storing MongoDB URI.
6c387a5
FROM python:3.9-slim | |
WORKDIR /app | |
RUN apt-get update && apt-get install -y \ | |
build-essential \ | |
curl \ | |
software-properties-common \ | |
git \ | |
&& rm -rf /var/lib/apt/lists/* | |
COPY requirements.txt ./ | |
COPY src/ ./src/ | |
COPY .streamlit/ ./.streamlit/ | |
ENV MONGO_URI="mongodb+srv://multichem:Xr1q5wZdXPbxdUmJ@testcluster.lgwtp5i.mongodb.net/?retryWrites=true&w=majority&appName=TestCluster" | |
RUN useradd -m -u 1000 user | |
USER user | |
ENV HOME=/home/user\ | |
PATH=/home/user/.local/bin:$PATH | |
WORKDIR $HOME/app | |
RUN pip install --no-cache-dir --upgrade pip | |
COPY --chown=user . $HOME/app | |
RUN pip3 install -r requirements.txt | |
EXPOSE 8501 | |
HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health | |
ENTRYPOINT ["streamlit", "run", "src/streamlit_app.py", "--server.port=8501", "--server.address=0.0.0.0"] |