All checks were successful
CI / Lint, PostgreSQL tests, and package (push) Successful in 13s
31 lines
1.1 KiB
Docker
31 lines
1.1 KiB
Docker
FROM ghcr.io/astral-sh/uv:0.9.3 AS uv
|
|
FROM python:3.13-slim-bookworm
|
|
|
|
COPY --from=uv /uv /usr/local/bin/uv
|
|
ENV UV_PROJECT_ENVIRONMENT=/opt/venv \
|
|
UV_PYTHON_DOWNLOADS=never \
|
|
UV_LINK_MODE=copy \
|
|
PLAYWRIGHT_BROWSERS_PATH=/opt/playwright \
|
|
PYTHONDONTWRITEBYTECODE=1 \
|
|
PYTHONUNBUFFERED=1 \
|
|
HOME=/tmp \
|
|
PATH=/opt/venv/bin:$PATH
|
|
WORKDIR /app
|
|
|
|
COPY pyproject.toml uv.lock README.md ./
|
|
RUN uv sync --locked --no-dev --no-install-project \
|
|
&& python -m playwright install --with-deps chromium \
|
|
&& apt-get update \
|
|
&& apt-get install -y --no-install-recommends xvfb \
|
|
&& rm -rf /var/lib/apt/lists/* /tmp/uv-cache /tmp/.cache \
|
|
&& useradd --uid 1000 --no-create-home app \
|
|
&& mkdir /data \
|
|
&& chown app:app /data
|
|
COPY src/ ./src/
|
|
RUN uv sync --locked --no-dev --no-editable && rm -rf /tmp/.cache
|
|
COPY searches.toml ./searches.toml
|
|
|
|
USER 1000:1000
|
|
ENTRYPOINT ["python", "-m", "car_traker.container_entrypoint"]
|
|
CMD ["car-traker-pipeline", "--headed", "--config", "/app/searches.toml", "--output", "/data", "--family", "saab-900", "--max-pages", "1", "--max-details", "1"]
|