FROM python:3.12-slim
RUN groupadd --gid 10001 app \
 && useradd --uid 10001 --gid app --no-create-home --shell /usr/sbin/nologin app \
 && mkdir /data && chown app:app /data
WORKDIR /srv
COPY app/ ./
USER 10001:10001
ENV HOST=0.0.0.0 PORT=8100 DB_PATH=/data/lab.db PYTHONUNBUFFERED=1 PYTHONDONTWRITEBYTECODE=1
EXPOSE 8100
HEALTHCHECK --interval=3s --timeout=3s --retries=5 CMD ["python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8100/lab/health', timeout=2)"]
CMD ["python", "server.py"]
