FROM debian:bookworm-slim # Métadonnées LABEL maintainer="MD_to_Print" LABEL description="Script automatique Markdown vers PDF et impression" LABEL version="1.0.0" # Variables d'environnement ENV DEBIAN_FRONTEND=noninteractive \ TZ=Europe/Paris \ LANG=fr_FR.UTF-8 \ LC_ALL=fr_FR.UTF-8 # Installation des dépendances système et locales # Optimisation: combiner toutes les installations en une seule couche RUN apt-get update && \ apt-get install -y --no-install-recommends \ locales \ && sed -i '/fr_FR.UTF-8/s/^# //g' /etc/locale.gen && \ locale-gen fr_FR.UTF-8 && \ apt-get install -y --no-install-recommends \ pandoc \ texlive-latex-base \ texlive-xetex \ texlive-fonts-recommended \ texlive-latex-recommended \ texlive-latex-extra \ texlive-fonts-extra \ texlive-lang-french \ fonts-dejavu \ lmodern \ cups \ cups-client \ evince \ curl \ ca-certificates \ make \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* # Création d'un utilisateur non-root pour sécurité RUN useradd -m -u 1000 -s /bin/bash mdprint && \ mkdir -p /workspace/documents /workspace/output /workspace/logs && \ chown -R mdprint:mdprint /workspace # Répertoire de travail WORKDIR /workspace # Copie du script principal COPY md_to_print.sh /usr/local/bin/md_to_print.sh RUN chmod +x /usr/local/bin/md_to_print.sh # Copie du fichier de configuration exemple COPY config.example.conf /workspace/config.example.conf # Basculer vers l'utilisateur non-root USER mdprint # Point d'entrée ENTRYPOINT ["/usr/local/bin/md_to_print.sh"] CMD ["--help"]