Descenso drástico de la velocidad de descarga remota en Audiobookshelf bajo Traefik
Un usuario de r/selfhosted reporta que la aplicación Android de Audiobookshelf tarda hasta 40 minutos en descargar un libro cuando está fuera de la red local, pese a contar con una conexión de 1 Gbps de subida.
Un miembro de la comunidad de self‑hosting describe un problema de rendimiento con Audiobookshelf, ejecutado en Docker sobre Ubuntu y gestionado mediante runtipi. La instancia está detrás de Traefik y expuesta mediante un dominio DDNS sin Cloudflare.
En la red local, la descarga de un libro completo se completa en segundos usando Wi‑Fi. Cuando el cliente Android se conecta desde una red móvil 4G/5G, el mismo archivo tarda entre 30 y 40 minutos, aunque la prueba de velocidad muestra que la línea de subida del servidor alcanza los 1 Gbps contratados.
El usuario también menciona que Navidrome, otro servicio Dockerizado en el mismo host, funciona sin problemas remotos gracias a un caché de los tres primeros tracks. Incluso al exponer directamente un puerto de Audiobookshelf, el comportamiento no cambió, descartando una regla de Traefik como causa.
Posibles causas a investigar:
- Limitación de ancho de banda por contenedor: algunas configuraciones de Docker o del host pueden aplicar cuotas implícitas. Verificar si el contenedor tiene límites de
--memoryo--cpusque afecten la transferencia. - Configuración de TLS/ALPN: si Traefik está terminando TLS, la negociación de protocolos puede degradar la transferencia en redes móviles con mayor latencia.
- Chunked transfer y buffers: Audiobookshelf sirve los audiolibros como streams; ajustes de
proxy_bufferingoproxy_read_timeouten Traefik podrían estar provocando retransmisiones lentas. - MTU y fragmentación: la ruta entre el cliente móvil y el servidor puede estar fragmentando paquetes, especialmente si el MTU no coincide con la VPN o el túnel DDNS.
- Limitaciones del cliente Android: la app oficial podría estar usando una conexión HTTP/2 con ventana de flujo pequeña, lo que penaliza altas latencias.
Se recomienda ejecutar pruebas de curl o wget directamente contra la IP pública del servidor para aislar si el cuello de botella está en la red o en la aplicación. Además, habilitar logs de Traefik con nivel DEBUG y comparar los tiempos de respuesta con y sin el proxy puede revelar diferencias.
Mientras tanto, una solución provisional es servir los libros mediante una ruta directa (sin Traefik) o usar una CDN privada para los archivos estáticos, reduciendo la dependencia del proxy inverso.
Qué sigue: la comunidad deberá confirmar si el problema es reproducible en otras instalaciones de Audiobookshelf y, de ser así, abrir un issue en el repositorio oficial para que los mantenedores evalúen ajustes de streaming o añadan opciones de configuración de buffers.
