- FastAPI приложение для отправки мониторинговых алертов в мессенджеры - Поддержка Telegram и MAX/VK - Интеграция с Grafana, Zabbix, AlertManager - Автоматическое создание тикетов в Jira - Управление группами мессенджеров через API - Декораторы для авторизации и скрытия эндпоинтов - Подробная документация в папке docs/ Автор: Сергей Антропов Сайт: https://devops.org.ru
45 lines
1.3 KiB
Docker
45 lines
1.3 KiB
Docker
# 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"] |