Daily AI-curated newspaper PDF delivered via Telegram. Fetches RSS feeds, summarizes top stories with Claude, compiles a LaTeX PDF in newspaper layout. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
31 lines
986 B
Docker
31 lines
986 B
Docker
# Papernews — Dockerfile
|
|
# Python 3.12 slim + a minimal LaTeX install for newspaper PDF generation.
|
|
# texlive-latex-extra adds titlesec, microtype, and other layout packages.
|
|
# Image is large (~700MB) due to texlive — this is expected and a one-time cost.
|
|
#
|
|
# Rebuild after code changes: docker compose up -d --build
|
|
|
|
FROM python:3.12-slim
|
|
|
|
# Install LaTeX. --no-install-recommends keeps the layer as lean as possible.
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
texlive-latex-base \
|
|
texlive-latex-recommended \
|
|
texlive-fonts-recommended \
|
|
texlive-latex-extra \
|
|
lmodern \
|
|
&& apt-get clean \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /app
|
|
|
|
# Install Python deps first (layer-cached until requirements.txt changes)
|
|
COPY requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
COPY papernews.py .
|
|
|
|
# /output is mounted from the host — PDFs are written and pruned here
|
|
VOLUME ["/output"]
|
|
|
|
CMD ["python", "papernews.py"]
|