16 lines
827 B
Docker
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"]
|