- Создан LogBoard клиент для отправки логов с удаленных серверов - Добавлен API эндпоинт /api/logs/remote с аутентификацией - Реализована структурированная система сохранения логов - Исправлена совместимость Docker client библиотеки - Добавлена полная документация и тестирование
46 lines
1.4 KiB
Docker
46 lines
1.4 KiB
Docker
# Dockerfile для LogBoard клиента
|
|
# Автор: Сергей Антропов
|
|
# Сайт: https://devops.org.ru
|
|
|
|
FROM python:3.11-slim
|
|
|
|
# Установка метаданных
|
|
LABEL maintainer="Сергей Антропов <https://devops.org.ru>"
|
|
LABEL description="LogBoard клиент для отправки логов на удаленный сервер"
|
|
LABEL version="1.0"
|
|
|
|
# Установка системных зависимостей
|
|
RUN apt-get update && apt-get install -y \
|
|
curl \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Создание пользователя для безопасности
|
|
RUN groupadd -r logboard && useradd -r -g logboard logboard
|
|
|
|
# Создание директорий
|
|
RUN mkdir -p /app /var/log
|
|
WORKDIR /app
|
|
|
|
# Копирование файлов зависимостей
|
|
COPY requirements.txt .
|
|
|
|
# Установка Python зависимостей
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
# Копирование исходного кода
|
|
COPY app/ ./app/
|
|
|
|
# Создание директории для логов
|
|
RUN mkdir -p /var/log && \
|
|
chown -R logboard:logboard /app /var/log
|
|
|
|
# Переключение на пользователя logboard
|
|
USER logboard
|
|
|
|
# Проверка здоровья
|
|
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
|
|
CMD curl -f http://localhost:8080/health || exit 1
|
|
|
|
# Команда запуска
|
|
CMD ["python", "app/main.py"]
|