/
DnTyr
/
Password-Development
Обзор
Документация
Войти
/
DnTyr
/
Password-Development
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
backend/Dockerfile
46 строк
2 KB
DT
first_commit
03 июн 2026, 10:22
03 июн 2026, 10:22
357cb35
Код
Авторство
О чём код?
# 1. База: Alpine — минимум уязвимостей, минимум веса FROM python:3.11-alpine3.23 # 2. Обновление ОС и установка необходимых системных библиотек (если нужны для сборки) # В Alpine используем apk RUN apk update && apk upgrade --no-cache && \ apk add --no-cache bash && \ rm -rf /var/cache/apk/* # 3. Безопасный пользователь (Alpine синтаксис) RUN adduser -D -s /bin/bash appuser WORKDIR /app # 4. Установка зависимостей (блок с апгрейдом инструментов) COPY requirements.txt . RUN pip install --no-cache-dir --upgrade pip setuptools wheel && \ pip install --no-cache-dir --upgrade \ "jaraco.context>=6.1.0" \ "wheel>=0.46.2" \ -r requirements.txt # 5. Копирование кода и установка прав COPY . . RUN chown -R appuser:appuser /app # 6. Переход на бесправного пользователя USER appuser EXPOSE 5000 # 7. HEALTHCHECK через Python HEALTHCHECK --interval=30s --timeout=5s --start-period=15s --retries=3 \ CMD python3 app/utils/healthcheck.py # 8. Команда запуска Gunicorn (с вашими флагами оптимизации) CMD ["gunicorn", \ "--worker-tmp-dir", "/dev/shm", \ "--access-logfile", "-", \ "--error-logfile", "-", \ "--timeout", "150", \ "-w", "4", \ "--threads", "4", \ "--worker-class", "gthread", \ "-b", "0.0.0.0:5000", \ "run:app"]