Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

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

Ver códigoProblemas y ayudaRepositorio ↗
00

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.

CASOS DE USO
  • 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
PUNTOS DESTACADOS
  • 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
PRECAUCIONES
  • 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
VISUAL

Capturas del proyecto

Imágenes reales detectadas en la documentación del repositorio.

Captura de jf-pushover-webhook
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU4 vCPUrecomendación inicial
MEMORIA4 GBRAM estimada
DISCO10 GBalmacenamiento base
COMPLEJIDADhighnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Docker detectado

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.

✓Dockerfile
—Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Python
SERVICIOS
No detectados
BASES DE DATOS
No detectadas
PUERTOS
8484
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

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.