On start audioserve scans and caches collection directories. However it brings bit more complexity into the program. I'm quite happy with it now, it really makes audioserve superfast. So I implemented caching of collection data into embedded key-value database (using sled). a folder with many audiofiles (over couple hundred) was loading slowly (because we have to collect basic audio metadata - duration and bitrate for each file).However experience with the program and users feedback have revealed two major problems with this approach: Initially I though that everything can be just served from the file system. Typical usage will be to have separate collections for different languages.īy default symbolic(soft) links are not followed in the collections directory (because if incorrectly used it can have quite negative impact on search and browse), but they can be enabled by -allow-symlinks program argument. In client you can switch between collections. You can have several collections/libraries - just use several collection directories as audioserve command arguments. Search is done for folder names only (not individual files, neither audio metadata tags). In folders you can have additional metadata files - first available image (jpeg or png) is taken as a cover picture and first text file (html, txt, md) is taken as description of the folder. The characters $$ and | are used for internal usage of audioserve, so you should not use then in file names. Recommended directory structure of collections is: Author Last Name, First Name/Audio Book NameĪuthor Last Name, First Name/Series Name/Audio Book Nameįiles should be named so they are in right alphabetical order - ideally prefixed with padded number: 001 - First Chapter Name.opusīut this structure is not mandatory - you will just see whatever directories and files you have, so use anything that will suite you. m4b and similar single file audiobooks, where chapters are presented as virtual files), audio tags are not used for browsing, only optionally they can be displayed. Running audioserve in Docker as different userĬompiling without default features or with non-default featuresĪudioserve is intended to serve files from directory in exactly same structure (with support for. Sharing playback positions between clients Single file audiobooks and their chapters Like audioserve and want to start quickly and easily and securely? Try this simple guide to have audioserve up and running for free in no time. If you will install audioserve and make it available on Internet do not underestimate security. There is also Android client and simple API for custom clients.įor some background and video demo check this article(bit old but gives main motivation behind it) Audioserve Audiobooks Server - Stupidly Simple or Simply Stupid? Server is written in Rust, default web client (HTML5 + Javascript) is intended for modern browsers (latest Firefox or Chrome) and is integrated with the server.
Focus here is on simplicity and minimalist design.
Intended primarily for audio books, but anything with decent directories structure will do. Simple personal server to serve audio files from directories. Version 0.16 brings a LOT of changes, so I recommend to read README even for existing users, especially for Docker installation it is ESSENTIAL to map host_directory or named volume to audioserve -data_dir (defaults to /home/audioserve/.audioserve)