This commit is contained in:
chase
2026-05-04 11:07:31 +03:00
commit 52280c721f
44 changed files with 991 additions and 0 deletions
+34
View File
@@ -0,0 +1,34 @@
# syntax=docker/dockerfile:1
FROM python:3.12-slim-bookworm
LABEL service="api" description="Flask API + Postgres + upload volume"
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
ENV PIP_NO_CACHE_DIR=1
WORKDIR /app
# Системные зависимости для psycopg2-binary и healthcheck
RUN apt-get update && apt-get install -y --no-install-recommends \
libpq5 \
wget \
&& rm -rf /var/lib/apt/lists/*
COPY requirements.txt .
RUN pip install --upgrade pip && pip install -r requirements.txt
# Копируем код приложения в образ
COPY app.py .
# Не root в runtime (uid в образе python обычно есть)
RUN useradd --create-home --uid 10001 appuser \
&& mkdir -p /data/uploads \
&& chown -R appuser:appuser /data /app
USER appuser
EXPOSE 5000
# Продакшен-сервер (не встроенный dev-сервер Flask)
CMD ["gunicorn", "--bind", "0.0.0.0:5000", "--workers", "2", "app:app"]