media-api
API backend autoalojada para gestionar bibliotecas de medios (video/audio) con metadatos en PostgreSQL, archivos en disco, búsqueda de transcripciones opcional vía Elasticsearch y autenticación OIDC.
Ficha actualizada 24 sept 2026, 18:45 · upstream 24 sept 2026, 18:17 · release v6.2.1
Qué es media-api
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
media-api es un backend FastAPI diseñado para administrar bibliotecas de medios, soportando video y audio. Los metadatos se almacenan en PostgreSQL mientras los archivos residan en el sistema de archivos local. Incluye soporte para transcripciones indexadas en Elasticsearch cuando se configura.
El sistema utiliza una cola basada en base de datos para trabajos asíncronos como transcodificación o extracción de audio, con soporte para orquestadores externos pluggables (Prefect, webhook). La autenticación se realiza mediante tokens OIDC estándar, con opción de desarrollo sin autenticación.
La arquitectura permite despliegue en contenedores Docker con imágenes específicas según los orquestadores habilitados. Las migraciones de base de datos se gestionan con Alembic y requieren ejecución manual antes del arranque.
- Gestión centralizada de metadatos para colecciones de video/audio con enlaces a identificadores externos (TMDB, IMDB).
- Búsqueda full-text en transcripciones de medios almacenados mediante integración opcional con Elasticsearch.
- Despliegue de trabajos asíncronos de transcodificación o procesamiento usando orquestadores externos como Prefect.
- Almacenamiento eficiente de archivos accesorios (subtítulos, arte) indexados por ID de activo en el sistema de archivos.
- Autenticación federada mediante proveedores OIDC para acceso seguro a la API de gestión de medios.
- Arquitectura pluggable que permite añadir orquestadores externos sin modificar el código base del backend.
- Soporte nativo para autenticación OIDC con stub-principal para entornos de desarrollo local.
- Imágenes Docker diferenciadas por orquestador habilitado (prefect, webhook) mediante argumentos de build.
- Sistema de archivos content-addressed para artefactos compartidos entre episodios o temporadas.
- Migraciones de base de datos gestionadas con Alembic y roles separados para runtime y migración.
- API OpenAPI documentada en /docs y /openapi.json con Swagger UI interactivo.
- Los archivos multimedia no se sirven directamente sobre HTTP; solo se accede vía metadatos o orquestadores externos.
- La búsqueda de transcripciones requiere configuración adicional de Elasticsearch opcional.
- Las imágenes por defecto no incluyen frameworks de orquestación, requiriendo artefactos separados para Prefect.
- Los trabajos en cola persisten pero la ejecución depende de proveedores externos configurados manualmente.
- No hay sistema de balanceo de carga o clustering nativo; despliegue diseñado para instancia única.
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.
Requiere Python 3.13 y uv para desarrollo local. Para producción, ejecutar docker compose up -d db antes de aplicar migraciones con alembic upgrade head. Habilitar orquestadores mediante argumentos de build (ej. EXTRAS=prefect) o variables de entorno ENABLED_ORCHESTRATION_PROVIDERS. Configurar OIDC en producción; AUTH_DISABLED=true solo para desarrollo local.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
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.