# SPDX-License-Identifier: Apache-2.0 # Copyright 2026 Aaron K. Clark # The Python discovery poller — the second runtime. It shares Postgres with the .NET # API (the schema is the contract) and never serves HTTP: it fetches/scores job leads # and writes them per tenant. Build context is the repo root (needs pyproject.toml + src/). FROM python:3.12-slim AS runtime WORKDIR /app # Install the package and its runtime deps (httpx, psycopg, pyyaml) from source. COPY pyproject.toml ./ COPY src ./src RUN pip install --no-cache-dir . COPY docker/poller-entrypoint.sh /usr/local/bin/poller-entrypoint.sh RUN chmod +x /usr/local/bin/poller-entrypoint.sh \ && groupadd --gid 10001 applytrack \ && useradd --uid 10001 --gid applytrack --no-create-home \ --home-dir /nonexistent --shell /usr/sbin/nologin applytrack USER applytrack ENTRYPOINT ["/usr/local/bin/poller-entrypoint.sh"]