# SciTeX Writer - Docker Container # Complete LaTeX environment for reproducible manuscript compilation # Build: docker build -t scitex-writer . # Run: docker run --rm -v $(pwd):/workspace scitex-writer ./compile.sh manuscript FROM ubuntu:24.04 LABEL maintainer="SciTeX Writer Project" LABEL description="Complete LaTeX environment for scientific manuscript writing" LABEL version="1.0.0" # Prevent interactive prompts during build ENV DEBIAN_FRONTEND=noninteractive ENV LANG=C.UTF-8 ENV LC_ALL=C.UTF-8 # Install system dependencies RUN apt-get update && apt-get install -y --no-install-recommends \ # LaTeX distribution texlive-latex-base \ texlive-latex-extra \ texlive-fonts-recommended \ texlive-fonts-extra \ texlive-science \ texlive-bibtex-extra \ texlive-publishers \ texlive-luatex \ texlive-xetex \ texlive-lang-european \ texlive-lang-english \ # LaTeX utilities latexdiff \ chktex \ # Document processing ghostscript \ imagemagick \ # Scripting and utilities perl \ parallel \ make \ wget \ curl \ git \ # Python python3 \ python3-pip \ python3-venv \ && rm -rf /var/lib/apt/lists/* # Install yq (Go version) RUN wget -qO /usr/local/bin/yq \ https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 \ && chmod +x /usr/local/bin/yq # Upgrade pip RUN python3 -m pip install --upgrade pip # Copy Python requirements and install COPY requirements/python.txt /tmp/requirements.txt RUN pip3 install --no-cache-dir -r /tmp/requirements.txt \ && rm /tmp/requirements.txt # Set working directory WORKDIR /workspace # Create a non-root user for running commands RUN useradd -m -s /bin/bash scitex && \ chown -R scitex:scitex /workspace # Switch to non-root user USER scitex # Health check HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=1 \ CMD command -v pdflatex && command -v yq || exit 1 # Default command CMD ["bash"] # Build information ARG BUILD_DATE ARG VCS_REF LABEL org.label-schema.build-date=$BUILD_DATE LABEL org.label-schema.vcs-ref=$VCS_REF LABEL org.label-schema.vcs-url="https://github.com/ywatanabe1989/scitex-writer" LABEL org.label-schema.schema-version="1.0"