oem_crawler/Dockerfile
2026-11-07 16:53:30 +01:00

35 lines
811 B
Docker

# syntax=docker/dockerfile:1
FROM python:3.11-slim
# Install system dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
curl \
ca-certificates \
libpq-dev \
gcc \
&& rm -rf /var/lib/apt/lists/*
# Install uv for fast Python package management
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
WORKDIR /app
# Copy dependency definitions
COPY pyproject.toml /app/
# Install Python dependencies
RUN uv pip install --system --no-cache -r pyproject.toml
# Copy source code and database migrations
COPY src/ /app/src/
COPY schema.sql /app/
COPY README.md /app/
# Install package in editable mode
RUN uv pip install --system --no-cache -e .
ENV PYTHONPATH="/app/src"
ENV PYTHONUNBUFFERED=1
ENTRYPOINT ["oem-crawler"]
CMD ["--brand", "bmw", "--limit", "50"]