A minimalist personal server that streams audio files from local directories with a focus on audiobooks.

Audioserve is an open-source, self-hosted server designed to stream audio files from local directories. It focuses on simplicity and minimalist design, primarily targeting users who want to host and access audiobooks. The software is deployed as a server that serves content to a web-based PWA client, though it also supports an older web client, an Android application, and a simple API for custom clients.
The application mirrors the existing directory structure of the host file system rather than relying on audio tags for browsing. It supports multiple collections, allowing users to organize libraries by language or category. The server is written in Rust, while the modern web client is built with TypeScript and Svelte, utilizing Service Workers for browser functionality. This architecture ensures that the user experience remains consistent across different modern browsers.
The server uses a caching mechanism powered by sled to improve performance in large libraries, reducing the time needed to collect metadata like duration and bitrate. It handles natural file ordering by default, meaning padded numbers in filenames are not strictly required. For users with specific needs, the server can be configured to follow symbolic links or disable directory watching to save system resources. The system also supports the creation of virtual chapters for long audio files that lack metadata, either by splitting them into equal parts or by referencing an external .chapters file.
Audioserve is positioned as a minimalist tool for users who prefer a file-system-centric approach to managing personal audio libraries.
Join our newsletter to get shiny new open source software delivered to your inbox. Unsubscribe anytime.