Audiobookshelf Mobile App: the Android and iOS client for a self-hosted server
Mobile application for Audiobookshelf
At a glance
- What is it?
- advplyr/audiobookshelf-app is the Vue and Capacitor client that pairs with an Audiobookshelf server. The Android build ships through Google Play, the iOS build is a TestFlight beta that the README says is full, and the repository is primarily a development tree.
- Who is it for?
- Adopt the Android app if you already run an Audiobookshelf server and want a native client for it, and treat the iOS TestFlight as something you join when a slot opens rather than something you can install on demand. Do not clone this repository expecting a standalone player: the README states it requires an Audiobookshelf server to connect with, so without one the app has nothing to talk to.
- Can I use it commercially?
- Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 2 days ago.
- What is it written in?
- Mainly Vue, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What the Audiobookshelf mobile app actually is
This repository is the client half of Audiobookshelf. The server is a separate project, advplyr/audiobookshelf, and the README is blunt about the dependency: the app "Requires an Audiobookshelf server to connect with". If you do not run that server, or do not have access to someone else's, the app has no library to show. That single sentence defines the audience more sharply than any feature list. This is for people who already self-host their audiobooks and podcasts and want to listen on a phone. It is not a store, not a catalogue, and not a way to buy or borrow titles. The topics listed on the repository are android, audiobooks, audiobookshelf and ios, which matches the two native shells in the tree. The Android build is published on the Google Play Store under com.audiobookshelf.app. The iOS build is distributed through TestFlight, and the README states the beta is currently full because Apple caps beta testers at 10k. That cap is the reason iOS availability is a queue rather than a download.
How the Vue and Capacitor client is put together
The README says the application is built using NuxtJS and Capacitor "in order to run on both iOS and Android on the same code base". The mechanism is a static web build wrapped in native shells. Nuxt produces the pages, Capacitor copies that output into the android/ and ios/ directories, and those directories are the actual native projects. The repository layout reflects this: pages/, components/, layouts/, middleware/, mixins/, plugins/, store/ and utils/ are the Nuxt side, while android/, ios/, capacitor.config.json and ionic.config.json are the native side. Native capability comes from Capacitor plugins rather than custom platform code. package.json lists @capacitor/preferences for storage, @capacitor/network, @capacitor/haptics, @capacitor/keep-awake, @capacitor/status-bar, @capacitor/browser, @capacitor/clipboard, @capacitor/dialog and @capacitor/app. Two community plugins stand out because they map to listening behaviour: @capacitor-community/keep-awake and @capacitor-community/volume-buttons. The dependency list also includes socket.io-client, which points at live server communication, plus epubjs and @teckel/vue-pdf, which indicate the client handles ebook and PDF reading alongside audio. The practical consequence of this architecture is that most changes land in JavaScript, and the native folders are regenerated rather than hand-edited.
Installing the app versus building it from source
There are two distinct paths, and conflating them causes most of the confusion around this project. If you just want the app, the README points Android users at the Google Play Store listing and iOS users at a TestFlight link that it marks as full. If you want to work on the code, the documented setup differs by target. For Android on Windows, the README lists Git, Node.js version 20, a code editor, Android Studio and the Android SDK, and offers a winget block that installs Git, Visual Studio Code, Android Studio and NodeJS pinned to version 20.11.0. For Android on macOS, the same requirements appear with Cocoapods added, and the README gives a single homebrew line:
brew install android-studio node cocoapodsFor iOS the README lists Xcode, Node.js and Cocoapods, with no version pin beyond Node.js. Once the toolchain is present, the loop is identical on both platforms. Install packages, generate the static web app, sync it into the native folders, then open the platform IDE:
npm install
npm run generate
npx cap sync
npx cap open androidSubstitute ios for android in the last command to open Xcode instead. The README warns that after changing the JS layer you must rebuild the Nuxt pages and sync them again, and package.json provides a shortcut for exactly that:
npm run syncThat script runs nuxt generate followed by npx cap sync, so it replaces the first two commands above. For live reload during development, package.json also defines devlive, which runs ionic cap run with the -l, --external and --port=1337 flags, and a dev script that serves Nuxt on hostname 0.0.0.0 and port 1337.
The iOS beta cap and what it means for iPhone users
The most concrete limitation in the README is not technical. It is a distribution constraint. The iOS section is labelled "early beta", and the text states that the beta is currently full because Apple has a hard limit of 10k beta testers, with updates promised in Discord. The TestFlight link is included but annotated as full. So there is no documented way to install the iOS app on demand right now, and the README does not describe a waiting list mechanism beyond watching Discord. Compare that with Android, which is labelled beta but is distributable through Google Play to anyone. If you are choosing a phone platform around this project, that asymmetry is the deciding fact in the current documentation. The README does not document a public App Store release date, and it does not document rollback or downgrade steps for either platform. Anyone who needs a guaranteed install today should plan around Android.
Where this client is the wrong choice
The app is a client, so it inherits every property of the server it points at. If your library is not on an Audiobookshelf server, this is not a migration tool and not a player for local files in the sense a general-purpose media player is. There is no documented import path here for a folder of MP3s sitting on the phone. The README also does not describe offline download behaviour, so the search phrase about the app not downloading is not something the available documentation answers; treat that as an open question rather than a solved one. A second boundary is the build path itself. Running this from source means Node.js 20, Android Studio or Xcode, the Android SDK, and Cocoapods on macOS. That is a real toolchain for what is, for most people, a listening app. If you want the app rather than the codebase, the README's own answer is the Play Store listing. Finally, the release history is a beta line: v0.14.1-beta, v0.14.0-beta and v0.13.0-beta. The repository is not archived and the last push was on 2026-09-11, so the project is moving, but the versioning tells you to expect beta-grade behaviour rather than a frozen 1.0.
Audiobookshelf app alternatives and the real difference
The obvious alternative is the Audiobookshelf web client served by the server itself. It runs in a browser, needs no install, no Node.js and no Android Studio, and it is reachable from any device that can open the server's address. The difference is the native layer. The mobile app exists because Capacitor plugins give it things a browser tab does not have in the same form: keep-awake and volume-button handling, haptics, a status bar, native preferences storage, and a share plugin. The web client is the better answer for a desktop or a quick check; the app is the better answer for a phone used as a player. Note that the related searches include "Audiobookshelf desktop app" and "audiobookshelf app windows". The README describes Android and iOS only, and the repository layout contains android/ and ios/ with no desktop target, so nothing here documents a Windows or desktop build. A second alternative is a general audiobook player pointed at files synced by other means. That works, but it discards the server's library metadata, progress tracking and the socket.io connection the client uses to talk to the server. The trade is convenience against integration.
Licence, maintenance and the cost of upgrading
The repository is licensed GPL-3.0. If you fork it and distribute a modified build, the licence's copyleft terms apply to that distribution; if you only build it for yourself, the practical effect is minimal. This is not legal advice, and anyone shipping a derivative should read the LICENSE file in the repository rather than rely on a summary. On maintenance, the last push was on 2026-09-11, and the most recent release in the list is v0.14.1-beta on the same date, so the codebase is being worked on. Upgrade cost depends on which side you are on. As a user, you follow the Play Store or TestFlight channel and the README notes updates are posted in Discord, so there is no documented changelog process inside this repository beyond the release tags. As a builder, the upgrade cost is the sync loop: pull the changes, run npm install when dependencies move, then npm run generate and npx cap sync before reopening the native project. Because the Nuxt version is pinned to ^2.15.7 and Capacitor to ^7.0.0 across the plugin set, a dependency bump can touch both the web build and the native shells at once. The README does not document a rollback path if a beta build misbehaves, which is worth knowing before you rely on it for a long listen.
Editorial conclusion
Adopt the Android app if you already run an Audiobookshelf server and want a native client for it, and treat the iOS TestFlight as something you join when a slot opens rather than something you can install on demand. Do not clone this repository expecting a standalone player: the README states it requires an Audiobookshelf server to connect with, so without one the app has nothing to talk to. Before building, verify that Node.js 20 and an Android SDK or Xcode are in place, because the documented path runs npm install, npm run generate and npx cap sync in that order.
Frequently asked questions
Is there an Audiobookshelf app for iOS?
Yes, but the README describes it as an early beta distributed through TestFlight and states the beta is currently full because Apple limits beta testers to 10k. The same README says updates will be posted in Discord.
Is there an Audiobookshelf app?
Yes. This repository is the mobile application for Audiobookshelf, with an Android build on the Google Play Store and an iOS build on TestFlight. The README states it requires an Audiobookshelf server to connect with.
Is Audiobookshelf free?
The mobile app repository is licensed GPL-3.0 and the Android build is distributed through the Google Play Store, with no pricing mentioned in the README. The app is a client, so what it can play depends on the Audiobookshelf server you connect it to.
How do I install Audiobookshelf?
For the mobile app, the README points Android users to the Google Play Store listing and iOS users to a TestFlight link it marks as full. Building from source instead requires Node.js 20 plus Android Studio and the Android SDK, or Xcode and Cocoapods for iOS, followed by npm install, npm run generate and npx cap sync.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/advplyr-audiobookshelf-app)