# Dockerfile для Telegram Gateway # Автор: Сергей Антропов # Сайт: https://devops.org.ru FROM python:3.11-slim # Установка переменных окружения ENV PYTHONUNBUFFERED=1 \ PYTHONDONTWRITEBYTECODE=1 \ PIP_NO_CACHE_DIR=1 \ PIP_DISABLE_PIP_VERSION_CHECK=1 # Создание рабочей директории WORKDIR /app # Установка системных зависимостей RUN apt-get update && \ apt-get install -y --no-install-recommends \ gcc \ && rm -rf /var/lib/apt/lists/* # Копирование файлов зависимостей COPY requirements.txt . # Установка Python зависимостей RUN pip install --upgrade pip && \ pip install -r requirements.txt # Копирование приложения COPY ./app ./app COPY ./templates ./templates COPY ./config ./config # Создание пользователя для запуска приложения RUN useradd -m -u 1000 appuser && \ chown -R appuser:appuser /app # Переключение на непривилегированного пользователя USER appuser # Открытие порта EXPOSE 8000 # Команда запуска приложения CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]