jf-pushover-webhook
Servicio Flask minimalista que actúa como relay entre webhooks (incluyendo Jellyfin) y Pushover. Ofrece endpoints genéricos y específicos para Jellyfin, autenticación Bearer, control de imágenes por servidor y despliegue en Docker/Kubernetes/Podman.
Ficha actualizada 28 sept 2026, 1:43 · upstream 28 sept 2026, 1:24 · release v1.1.2
Qué es jf-pushover-webhook
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
jf-pushover-webhook es un servicio Flask diseñado para transformar llamadas webhook de Jellyfin y otros sistemas en notificaciones Pushover. Actúa como relay seguro con endpoints POST genéricos (/webhook) y orientados a Jellyfin (/jf-pushover-webhook), ambos protegidos mediante autenticación Bearer.
El servicio incluye controles de seguridad importantes: límites de tamaño de solicitud, timeouts configurables para operaciones de descarga de imágenes, validación de rutas de imágenes relativas (rechaza URLs absolutas o traversal), y soporte para despliegue en entornos locales o containerizados. Proporciona endpoints de salud (/live, /ready) y una página de información del servicio.
Soporta múltiples métodos de despliegue: Docker con imagen precompilada en GHCR, Podman Quadlet para systemd, Kubernetes mediante Helm chart, y desarrollo local con uv/Python 3.13. Incluye configuración flexible mediante variables de entorno para tokens, URLs base, timeouts y límites de recursos.
- Integrar notificaciones Pushover con Jellyfin para alertas de medios, copias de seguridad o eventos del sistema
- Crear un relay genérico de webhooks hacia Pushover para cualquier aplicación que soporte payloads JSON
- Desplegar en entornos autoalojados (Docker, Kubernetes) con políticas de red estrictas y timeouts controlados
- Usar como middleware entre sistemas legacy o APIs internas y la API Pushover
- Endpoint específico para Jellyfin que respeta su formato de payload y manejo de artwork
- Autenticación Bearer obligatoria en endpoints POST con token configurable por servidor
- Controles de seguridad: rechazo de URLs absolutas, límites de tamaño de imagen (5MB) y solicitud (1MB)
- Endpoints de salud /live y /ready para orquestadores Kubernetes o monitores externos
- Soporte multiplataforma: Docker, Podman Quadlet, Helm y desarrollo local con uv
- Timeouts configurables por operación para evitar bloqueos en entornos con latencia alta
- No incluye archivo docker-compose.yml oficial; el ejemplo requiere variables de entorno predefinidas
- Imágenes de artwork son best-effort: si fallan, la notificación de texto se envía igual
- Requiere autenticación Bearer en todos los endpoints POST (no soporta sin token)
- No sigue redirecciones de imágenes; solo paths relativos bajo IMAGE_BASE_URL
- Complejidad HIGH con requisitos de CPU/RAM/disco específicos para despliegue recomendado
Capturas del proyecto
Imágenes reales detectadas en la documentación del repositorio.
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Para producción: genera AUTH_TOKEN aleatorio largo, coloca detrás de reverse proxy autenticado si es internet-facing. Mantén WEB_CONCURRENCY ≤2 por guía de Pushover. Alinea REQUEST_TIMEOUT, IMAGE_DOWNLOAD_TIMEOUT y WORKER_TIMEOUT para evitar bloqueo de workers. Aplica política de red outbound. Si usas proxy inverso, preserva client IP y scheme.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.
