Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

tocata

Servidor de música autoalojado compatible con OpenSubsonic escrito en Rust, enfocado en gestión del lado del servidor y administración mediante panel web integrado.

Ficha actualizada 27 sept 2026, 11:37 · upstream 27 sept 2026, 11:20 · release 0.2.0

00

Qué es tocata

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

Tocata es un servidor de música compatible con el protocolo OpenSubsonic, desarrollado completamente en Rust. Su enfoque principal reside en la gestión del lado del servidor, proporcionando una API REST completa para clientes compatibles como Rhythmbox o Subsonic Android Player. Incluye un panel de administración web integrado que permite gestionar colecciones, usuarios y configuraciones sin necesidad de instalar dependencias externas ni servidores web adicionales.

El proyecto destaca por su simplicidad de despliegue: distribuye un único binario estáticamente compilado contra musl libc, lo que garantiza compatibilidad con cualquier distribución Linux sin requerir instalaciones previas. Soporta tanto ejecución en contenedores Docker/Podman como despliegues directos mediante binarios precompilados para arquitecturas x86_64 y arm64. La persistencia de datos se maneja mediante SQLite, almacenado en un volumen dedicado que debe configurarse correctamente para evitar problemas de permisos.

La autenticación implementa mecanismos seguros con sesiones gestionadas vía cookies HttpOnly y SameSite=Strict, aunque rechaza explícitamente la autenticación por tokens (error 42) debido a incompatibilidades con el almacenamiento seguro de contraseñas. El panel web permite gestionar colecciones mediante mounts read-only del sistema de archivos local, facilitando la integración con NAS o discos externos sin comprometer la integridad de los datos.

CASOS DE USO
  • Servidor de música autoalojado compatible con clientes OpenSubsonic como Rhythmbox o Subsonic Android Player
  • Panel de administración para gestión de colecciones y usuarios en entornos headless o servidores dedicados a multimedia
  • Despliegue simplificado en contenedores Docker/Podman con imágenes oficiales ghcr.io/ogarcia/tocata:latest
  • Integración con sistemas de almacenamiento local (NAS, discos externos) mediante mounts read-only para música
PUNTOS DESTACADOS
  • Binario estáticamente compilado contra musl libc, compatible con cualquier distribución Linux sin dependencias externas
  • Panel web integrado en el mismo binario, reduciendo la complejidad del despliegue a un único archivo ejecutable
  • Soporte nativo para gestión de sesiones seguras mediante cookies HttpOnly y SameSite=Strict
  • API REST completa compatible con OpenSubsonic sin necesidad de middleware adicional
PRECAUCIONES
  • No soporta token authentication (error 42) por incompatibilidad con almacenamiento seguro de contraseñas
  • Panel web limitado a funciones administrativas básicas, sin interfaz de usuario avanzada para usuarios finales
  • Requiere configuración manual de colecciones mediante variables de entorno o panel post-inicialización
VISUAL

Capturas del proyecto

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

The panel's first screen: what the collection holds, what the process is costing, and what the last scan found
01

Perfil de infraestructura

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

CPU4 vCPUrecomendación inicial
MEMORIA2 GBRAM estimada
DISCO10 GBalmacenamiento base
COMPLEJIDADlownivel de operación
02

Despliegue detectado

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

Docker detectado

Usar imagen oficial ghcr.io/ogarcia/tocata:latest con volumen persistente para /data y mount read-only para música. Configurar TOCATA_LIBRARY_PATHS si se requieren colecciones específicas. Para producción, usar tag semántico (ej. 0.1.0) en lugar de master. Verificar permisos de uid 1000 en volúmenes montados desde host.

✓Dockerfile
—Compose
—One-click
03

Stack y dependencias

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

FRAMEWORKS
Next.jsRust
SERVICIOS
No detectados
BASES DE DATOS
No detectadas
PUERTOS
4224
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.