Files

16 lines
827 B
Docker

FROM python:3.12-slim
ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY main.py update_service.py manage.py ./
# Uploaded ZIP files may have owner-only permissions. Keep code root-owned
# while making it readable to the unprivileged runtime user.
RUN chmod 0755 /app \
&& chmod 0644 /app/requirements.txt /app/main.py /app/update_service.py /app/manage.py \
&& useradd --system --uid 10001 --create-home updates \
&& mkdir -p /app/data && chown updates:updates /app/data
USER updates
EXPOSE 8000
CMD ["python", "-m", "uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000", "--workers", "1", "--proxy-headers", "--forwarded-allow-ips", "*", "--no-access-log", "--limit-concurrency", "32", "--timeout-keep-alive", "5"]