PGA_DFS_ROO / Dockerfile
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
raw
history blame contribute delete
814 Bytes
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"]