FROM python:3.14-slim

WORKDIR /code
COPY ./requirements.txt /code/requirements.txt
COPY test/characteristics.yaml /data/characteristics.yaml

RUN useradd -ms /bin/bash appRunner
RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt && pip cache purge
RUN mkdir -p /data/uis/

COPY ./app /code/app

USER appRunner

CMD ["fastapi", "run", "app/main.py", "--port", "8080"]

EXPOSE 8080/tcp
HEALTHCHECK --interval=1s --timeout=5s --start-period=1s --retries=20 \
	CMD python3 -c "import http.client; conn=conn = http.client.HTTPConnection('localhost', 8080); conn.request('GET', '/health'); res = conn.getresponse(); exit(0 if res.status == 200 else 1)"
