| FROM python:3.11-slim |
|
|
| WORKDIR /app |
|
|
| |
| RUN useradd -m -u 1000 streamlit |
|
|
| |
| RUN mkdir -p /tmp/.streamlit /tmp/.config/matplotlib /app/uploads && \ |
| chown -R streamlit:streamlit /tmp/.streamlit /tmp/.config/matplotlib /app && \ |
| chmod -R 755 /tmp/.streamlit /tmp/.config/matplotlib /app |
|
|
| |
| ENV HOME=/tmp |
| ENV STREAMLIT_CONFIG_DIR=/tmp/.streamlit |
| ENV MPLCONFIGDIR=/tmp/.config/matplotlib |
| ENV STREAMLIT_SERVER_MAX_UPLOAD_SIZE=200 |
| ENV STREAMLIT_SERVER_ENABLE_CORS=false |
| ENV STREAMLIT_SERVER_ENABLE_XSRF_PROTECTION=false |
|
|
| |
| |
| |
| |
| |
| |
| |
|
|
| |
| RUN pip3 install --upgrade pip |
|
|
| |
| COPY requirements.txt ./requirements.txt |
| RUN pip3 install -r requirements.txt |
|
|
| |
| COPY src/ ./src/ |
| RUN chown -R streamlit:streamlit /app |
|
|
| |
| USER streamlit |
|
|
| EXPOSE 8501 |
|
|
| HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health |
|
|
| |
| RUN echo '[server]\n\ |
| maxUploadSize = 200\n\ |
| enableCORS = false\n\ |
| enableXsrfProtection = false\n\ |
| \n\ |
| [browser]\n\ |
| gatherUsageStats = false\n\ |
| \n\ |
| [theme]\n\ |
| base = "light"' > /tmp/.streamlit/config.toml |
|
|
| ENTRYPOINT ["streamlit", "run", "src/streamlit_app.py", \ |
| "--server.port=8501", \ |
| "--server.address=0.0.0.0"] |