Files
myice/Dockerfile
Rene Luria 8ae1c33b3a chore: migrate to python 3.13 and update dependencies
Migrate from Python 3.11 to 3.13 with updated dependencies. Switch from PyPDF2 to pypdf library for better PDF processing. Add new U14 age groups and extract-pdf utility script.
2025-09-29 23:05:48 +02:00

44 lines
1.2 KiB
Docker

# Multi-stage build to create a distroless image
FROM python:3.13 AS builder
# Install poetry and the export plugin
# RUN pip install poetry poetry-plugin-export
# Create working directory
WORKDIR /app
# Export dependencies to requirements.txt
# RUN poetry export -f requirements.txt --output requirements.txt --without-hashes
# Copy dependency files
COPY requirements.txt ./
# Install dependencies to a target directory that we can copy to the distroless image
RUN pip install --no-cache-dir --target=/app/site-packages -r requirements.txt
FROM python:3.13-slim
# RUN apt update \
# && apt -y upgrade \
# && apt clean \
# && rm /var/lib/apt/lists/* || true
# Copy installed packages and application from builder stage
COPY --from=builder /app/site-packages /app/site-packages
# Copy application code
COPY index.html favicon.ico /app/
COPY myice /app/myice
# Set PYTHONPATH so Python can find our installed packages
ENV PYTHONPATH=/app/site-packages
# Set working directory
WORKDIR /app
# Expose port
EXPOSE 8000
# Run the application directly with Python using the distroless entrypoint
ENTRYPOINT ["/usr/bin/python3", "-m", "uvicorn", "myice.webapi:app", "--host", "0.0.0.0", "--port", "8000"]