FROM python:3.13-alpine ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1 DATA_DIR=/data WORKDIR /app COPY requirements.txt constraints.txt ./ RUN pip install --no-cache-dir -r requirements.txt && addgroup -g 1000 atelier && adduser -D -u 1000 -G atelier atelier && mkdir /data && chown atelier:atelier /data COPY atelier ./atelier USER atelier VOLUME ["/data"] EXPOSE 8000 HEALTHCHECK --interval=30s --timeout=5s CMD python -c "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/health', timeout=3)" CMD ["uvicorn", "atelier.app:create_app", "--factory", "--host", "0.0.0.0", "--port", "8000", "--no-access-log"]