Требования к Dockerfile
Кластер работает с Pod Security Standards (restricted) — это значит контейнеры не могут запускаться от root. Следуй шаблонам ниже.
Backend (Django / FastAPI)
FROM python:3.12-slim
WORKDIR /app
# Создать пользователя с UID 1000 — PSS restricted запрещает root
RUN groupadd -g 1000 app && useradd -u 1000 -g app app
COPY requirements.txt .
RUN pip install --no-cache-dir --index-url https://nexus.simple-env.site/repository/pypi-proxy/simple/ -r requirements.txt
COPY . .
# Статика собирается при сборке образа, не в runtime
# (в контейнере файловая система read-only)
RUN python manage.py collectstatic --noinput || true
USER app
EXPOSE 8000
CMD ["gunicorn", "config.wsgi:application", \
"--bind", "0.0.0.0:8000", "--workers", "2"]
Важно
USER app— обязательно, без него деплой упадётcollectstatic— в Dockerfile, не в runtimeEXPOSE 8000— порт должен совпадать сbackend.portвdeploy.yaml