texteller-demo / Dockerfile
bpdev75's picture
Enhance the dashhboard: Exploratory Data Analysis + metrics
272a563
FROM python:3.10-slim
# 1) Installer TeX full, GhostScript, Node.js & ImageMagick
RUN apt-get update && \
apt-get install -y --no-install-recommends \
texlive-full \
ghostscript \
libgl1 \
nodejs npm \
imagemagick && \
ln -sf /usr/bin/convert /usr/bin/magick && \
pdflatex --version && convert --version && node -v && \
# patch de la policy pour autoriser PDF -> image
sed -i "s@<policy domain=\"coder\" rights=\"none\" pattern=\"PDF\" />@<policy domain=\"coder\" rights=\"read|write\" pattern=\"PDF\" />@" \
/etc/ImageMagick-6/policy.xml && \
apt-get clean && rm -rf /var/lib/apt/lists/*
# 2) Copier et installer les dépendances Python
WORKDIR /code
COPY requirements.txt /code/
RUN pip install --no-cache-dir --upgrade pip && \
pip install --no-cache-dir -r requirements.txt
# 3) Passage en utilisateur non-root
RUN useradd -m -u 1000 user
USER user
ENV HOME=/home/user \
PATH=/home/user/.local/bin:$PATH
# 4) Copier l’application et exposer le port
WORKDIR $HOME/app
COPY --chown=user . $HOME/app
# 5) Lancement Streamlit sans file watcher
CMD ["streamlit", "run", "app.py", \
"--server.port=7860", \
"--server.address=0.0.0.0", \
"--server.runOnSave=false"]