Files
issue-core/Dockerfile
2026-06-25 19:47:58 +02:00

29 lines
925 B
Docker

# issue-core REST ingestion service image.
#
# Builds the checked-out issue-core[api] package and runs the FastAPI ingestion
# server on :8765. The image is published to
# gitea.coulomb.social/coulomb/issue-core.
FROM python:3.12-slim AS runtime
ENV PYTHONUNBUFFERED=1 \
PYTHONDONTWRITEBYTECODE=1 \
HOME=/home/app
# Non-root runtime user; HOME drives issue-core's config dir
# (~/.config/issue-tracker/backends.json).
RUN useradd --create-home --home-dir /home/app --uid 10001 app
WORKDIR /src
COPY pyproject.toml README.md LICENSE ./
COPY issue_core ./issue_core
RUN pip install --no-cache-dir --index-url https://pypi.org/simple ".[api]" \
&& rm -rf /src
COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
USER app
EXPOSE 8765
# Entrypoint renders backends.json from env, then execs the server.
ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]