The Dockerfile copies form PDFs explicitly by name; the SC COC template was missing, so fill_sc_coc() would FileNotFoundError in the container. Added it.
39 lines
1.3 KiB
Docker
39 lines
1.3 KiB
Docker
FROM python:3.12-slim
|
|
|
|
# Install LibreOffice for DOCX→PDF, Playwright deps, and system packages
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
libreoffice-writer \
|
|
fonts-liberation \
|
|
fonts-dejavu \
|
|
curl \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /app
|
|
|
|
# Install Python dependencies
|
|
COPY scripts/requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
# Install Playwright browsers
|
|
RUN playwright install chromium && playwright install-deps chromium
|
|
|
|
# Copy all scripts
|
|
COPY scripts/ /app/scripts/
|
|
COPY docs/product-facts.md /app/docs/product-facts.md
|
|
COPY ["docs/MCS-150 Form.pdf", "/app/docs/MCS-150 Form.pdf"]
|
|
COPY ["docs/MCS-150B Form.pdf", "/app/docs/MCS-150B Form.pdf"]
|
|
COPY ["docs/MCS-150C Form.pdf", "/app/docs/MCS-150C Form.pdf"]
|
|
COPY ["docs/CMS-855I Form.pdf", "/app/docs/CMS-855I Form.pdf"]
|
|
COPY ["docs/CMS-855B Form.pdf", "/app/docs/CMS-855B Form.pdf"]
|
|
COPY ["docs/CMS-855O Form.pdf", "/app/docs/CMS-855O Form.pdf"]
|
|
COPY ["docs/CMS-855A Form.pdf", "/app/docs/CMS-855A Form.pdf"]
|
|
COPY ["docs/SC COC Form.pdf", "/app/docs/SC COC Form.pdf"]
|
|
|
|
# Create data directories
|
|
RUN mkdir -p /app/data/screenshots /app/data/documents /app/data/logs
|
|
|
|
ENV PYTHONPATH=/app
|
|
ENV PYTHONUNBUFFERED=1
|
|
|
|
EXPOSE 8090
|
|
CMD ["python", "-m", "scripts.workers.job_server"]
|