AILottoEngine / Dockerfile
relvistcb's picture
changes related to permission issue
af0d166 verified
Raw
History Blame
1.06 kB
FROM python:3.9-slim-bullseye
# 1) System deps (as root)
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
curl \
git \
&& rm -rf /var/lib/apt/lists/*
# 2) Create a non-root user for runtime
RUN useradd -m -u 1000 appuser
# 3) App setup
WORKDIR /app
COPY requirements.txt .
RUN pip3 install --no-cache-dir -r requirements.txt
COPY . .
# 4) Make sure the runtime user can write where needed
RUN chown -R appuser:appuser /app /home/appuser
# 5) Streamlit config in a writable home
RUN mkdir -p /home/appuser/.streamlit && \
printf "[general]\nbrowser.gatherUsageStats = false\n" > /home/appuser/.streamlit/config.toml && \
chown -R appuser:appuser /home/appuser/.streamlit
# 6) Env for Streamlit + switch to non-root
ENV HOME=/home/appuser
ENV STREAMLIT_CONFIG_DIR=/home/appuser/.streamlit
USER appuser
EXPOSE 8501
HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health || exit 1
ENTRYPOINT ["streamlit", "run", "src/streamlit_app.py", "--server.port=8501", "--server.address=0.0.0.0"]