podarium
Servidor de podcasts autoalojado que centraliza descargas y sirve contenido proxyizado para evitar dependencias de Apple o dispositivos, usando Node.js, FastAPI, Python y PostgreSQL.
Ficha actualizada 25 sept 2026, 2:15 · upstream 25 sept 2026, 2:08 · release sin release detectada
Qué es podarium
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Podarium es un servidor de podcasts autoalojado diseñado para gestionar suscripciones, descargar episodios y servirlos a clientes propios sin depender de Apple ni realizar fetches directos desde el dispositivo. Invierte el modelo tradicional al actuar como intermediario que descarga feeds, audio y artefactos, sirviéndolos mediante una web app instalable en móviles y una API HTTP.
La arquitectura se basa en tres principios: el servidor realiza todas las descargas para evitar fugas de IP del cliente, utiliza Podcast Index para descubrimiento en lugar de iTunes, y funciona como servidor multimedia con soporte para range requests. Incluye gestión de colas, filtros, marcadores temporales, transcripciones y estadísticas precisas basadas en audio realmente reproducido.
El despliegue soporta Docker con PostgreSQL 18, ofrece documentación interactiva en /docs, y permite notificaciones web push mediante VAPID. La UI se construye en una etapa separada y se sirve desde el mismo contenedor API. Incluye scripts para backups consistentes (pg_dump + vzdump) y recuperación de acceso si se bloquean cuentas o cambian claves 2FA.
- Gestión centralizada de suscripciones a podcasts sin intervención de Apple ni fetches directos desde el cliente
- Descubrimiento de contenido mediante Podcast Index con filtrado por búsqueda, categoría o tendencias
- Procesamiento en servidor: trimming de intros/outros, eliminación de silencios, nivelación de volumen y saltos de anuncios
- Reproducción offline parcial mediante service worker que almacena episodios completos para acceso sin red
- Arquitectura proxyizada que evita fugas de IP del cliente al servir contenido con hash propio en endpoints /api/images y /api/stream
- Sanitización estricta de HTML en show notes con Content-Security-Policy para prevenir ejecución de scripts o fugas de datos
- Gestión de notificaciones web push con VAPID, incluyendo generación de claves separadas para desarrollo y producción
- Backups consistentes mediante pg_dump nocturno complementado por snapshots de filesystem (vzdump) en /backups
- Notificaciones web push requieren HTTPS; en iOS no funcionan sobre LAN HTTP ni sin añadir a Home Screen
- Almacenamiento offline no garantizado: iOS puede liberar espacio del service worker sin aviso, siendo más bien una conveniencia que un respaldo
- Recuperación de acceso (2FA o bloqueo) requiere acceso directo al host para ejecutar comandos SQL en la base de datos
- Límite de 2 GB por descarga máxima (DOWNLOAD_MAX_BYTES) para evitar llenado del disco con feeds maliciosos
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.
Usar deploy/portainer-stack.yml en Portainer. Configurar PGDATA y opciones NFS según documentación. Generar pares VAPID con docker exec podarium-api python -m podarium.vapid antes de producción. Editar .env con PODARIUM_USERNAME/PODARIUM_PASSWORD antes del primer arranque. Bloquear /metrics públicamente o usar METRICS_TOKEN. Restablecer 2FA con SQL si se pierde acceso.
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.