From f1e3f4defcc0f9cbb71239e84608a9b24ab5c27f Mon Sep 17 00:00:00 2001 From: Norvicdev <101652762+Norvicdev@users.noreply.github.com> Date: Wed, 5 Aug 2026 09:17:58 +0300 Subject: [PATCH] test runner - fix v13 --- .forgejo/workflows/deploy.yml | 2 +- Dockerfile | 26 +++++--------------------- 2 files changed, 6 insertions(+), 22 deletions(-) diff --git a/.forgejo/workflows/deploy.yml b/.forgejo/workflows/deploy.yml index 948c850..ab4221a 100644 --- a/.forgejo/workflows/deploy.yml +++ b/.forgejo/workflows/deploy.yml @@ -170,7 +170,7 @@ jobs: -e SECRET_KEY="${{ secrets.APP_SECRET_KEY }}" \ $IMAGE_NAME:latest - sleep 5 + sleep 15 if curl -f http://localhost:$PORT/health; then echo "✅ Деплой успешно завершен!" echo "🌐 Приложение доступно на порту $PORT" diff --git a/Dockerfile b/Dockerfile index 50fffe2..ec2efcd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,37 +1,21 @@ -# Многоступенчатая сборка для оптимизации -FROM python:3.12-slim AS builder - -WORKDIR /app - -# Устанавливаем системные зависимости (если нужны для сборки) -RUN apt-get update && apt-get install -y --no-install-recommends gcc && rm -rf /var/lib/apt/lists/* - -# Устанавливаем зависимости -COPY requirements.txt . -RUN pip install --no-cache-dir --user -r requirements.txt - -# Финальный образ FROM python:3.12-slim WORKDIR /app -# Копируем зависимости из builder -COPY --from=builder /root/.local /root/.local -ENV PATH=/root/.local/bin:$PATH +# Ставим зависимости глобально (доступно всем пользователям) +COPY requirements.txt . +RUN pip install --no-cache-dir -r requirements.txt -# Копируем код приложения +# Копируем код COPY . . -# Создаем пользователя для запуска +# Создаём пользователя и даём права на /app RUN useradd -m -u 1000 appuser && chown -R appuser:appuser /app USER appuser -# Экспортируем порт EXPOSE 5000 -# Health check (requests должен быть в requirements.txt!) HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \ CMD python -c "import urllib.request; urllib.request.urlopen('http://localhost:5000/health')" || exit 1 -# Запускаем через gunicorn CMD ["gunicorn", "--bind", "0.0.0.0:5000", "--workers", "4", "run:app"] \ No newline at end of file