# fleettickets — INC + CRQ ticket ingestion image (Coolify-deployable). # A small batch/cron worker: it has no web server. Coolify keeps the container # running (CMD below) and fires the ingests via two Scheduled Tasks: # python -m inc.import_inc --from-bucket --apply (cron: */20 6-20 * * *) # python -m crq.import_crq --from-bucket --apply (cron: */20 6-20 * * *) # (run from /app so the inc/ and crq/ packages + pipeline.py/shared.py import.) # Env (set in Coolify): DATABASE_URL, RUSTFS_*, GEOCODER_*. S3 is via boto3 — no # aws CLI needed. psycopg2-binary ships its own libpq, so no build toolchain. FROM python:3.12-slim ENV PYTHONUNBUFFERED=1 \ PIP_NO_CACHE_DIR=1 \ TZ=Africa/Nairobi RUN apt-get update \ && apt-get install -y --no-install-recommends tzdata \ && rm -rf /var/lib/apt/lists/* WORKDIR /app # Install from pyproject.toml (single source of truth for deps — no manual mirror). COPY . . RUN pip install . # Keep the container alive so Coolify Scheduled Tasks can exec into it. CMD ["tail", "-f", "/dev/null"]