gendesign/ops/glitchtip-auth-forwarder/Dockerfile
lekss361 5beed7dfce fix(security): forwarder PermissionError — убрать USER nobody (read /var/log/caddy)
Caddy пишет access log под UID 0; контейнер с USER nobody (65534)
не может открыть файл → ни один auth event не пересылался (GlitchTip issue #71).

Удалён USER nobody из Dockerfile — форвардер запускается под root.
Security: caddy_logs mount read-only, нет network listener, нет shell.
auth_forwarder_state — write-only форвардера, не shared с другими сервисами.

Добавлен throttle на capture_exception: не более 1 Sentry event в 5 минут
при persistent ошибке (деque-паттерн как у basic_auth_storm).
2026-05-23 11:58:10 +03:00

15 lines
640 B
Docker

FROM python:3.12-slim
WORKDIR /app
# Устанавливаем только sentry-sdk без лишних extras
RUN pip install --no-cache-dir "sentry-sdk==2.18.0"
COPY forwarder.py .
# Запускается под root — необходимо для чтения /var/log/caddy/gendsgn.ru.log
# (Caddy пишет лог под UID 0). Mounts: caddy_logs:ro + auth_forwarder_state (write).
# Attack surface минимален: нет network listener, нет shell, образ python:3.12-slim.
# -u для unbuffered stdout — docker logs виден сразу без буферизации
CMD ["python", "-u", "forwarder.py"]