Spaces:
Runtime error
Runtime error
| 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"] |