Ariami is a self-hosted music library server with native desktop and mobile players.
- Download the desktop server from releases. Pick the ZIP for your OS (for example
Ariami-Desktop-v3.2.0-macos.zip,Ariami-Desktop-v3.2.0-windows.zip, orAriami-Desktop-v3.2.0-linux.zip— filenames follow that pattern for each version). - Download the Android app from the same releases page (
ariami_apk_release_v3.2.0.apkfor v3.2.0). For iOS, you will have to build it and run it yourself. - Install Tailscale on the computer running the server and on your phone: tailscale.com/download
- Run the server and choose your music folder.
- Scan the QR code shown by the server with the mobile app to connect.
# Install Tailscale (follow commands from https://tailscale.com/download/linux/rpi)
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
# Download and extract Ariami
curl -L https://github.com/picccassso/Ariami/releases/download/v3.2.0/ariami-cli-raspberry-pi-arm64-v3.2.0.zip -o ariami-cli.zip
unzip ariami-cli.zip
cd ariami-cli-raspberry-pi-arm64-v3.2.0
# Run the server
chmod +x ariami_cli
./ariami_cli start
# Web interface opens automatically - scan QR code on phone, completeAriami is a very easy way to get into self-hosting. You do not need to setup port forwarding or pay for any subscription. It is very easy to setup. It is cross-platform so you can run this on your Mac/Windows/Linux machine, and is packaged for Raspberry Pis as well. Also works on Android/iOS.
Music Library
- Automatically scans your library and groups albums using embedded tags, so your metadata stays yours and does not depend on flaky external lookups.
- Handles large libraries comfortably.
- Incremental v2 sync: the phone keeps a local copy of the catalog, and the server tracks changes so you are not constantly doing full rescans.
- On mobile, you can use a mixed library view that shows albums and playlists in one place (toggle from the library). Sorting favours what you opened recently on the device, then falls back to the usual ordering.
Multi-user
- Password-protected accounts; each user gets their own session, downloads, and playback state.
- One active session per user at a time (signing in on another device replaces the previous session).
- If no one has registered yet, the server runs in open mode so older single-user setups still work.
Playlists
- Create and edit playlists in the app, including artwork.
- Folders whose names start with
[PLAYLIST]become server-side playlists; you can import them to your phone for offline playback.
Offline and downloads
- Download music for fully offline playback; imported playlists live on the device.
- Streaming caches tracks you have not downloaded yet, and you can prefer local or cached files even when you are online.
- Server-managed v2 download jobs for big batches, with the download UI tuned for large queues.
Streaming and audio
- Stream from the server to any supported client.
- Server-side transcoding (using FFmpeg when it is installed on the server) so clients can use formats and quality levels that suit the device.
- Quality presets that follow the connection type (for example Wi‑Fi vs mobile data).
Apps and platforms
- Native apps for Android, iOS (build from source), macOS, Windows, and Linux, plus a CLI build with a web dashboard for headless servers.
Connection, dashboard, and QR
- No port forwarding: Tailscale gives you a private path to the server over the internet.
- When your phone and server are on the same LAN, the app prefers that path; when you are away it uses Tailscale if it is up, and switches back to LAN when you return.
- The dashboard (desktop app or CLI web UI) shows who is connected, lets admins kick a device or change passwords, and shows whether authentication is required or the server is still open.
- QR setup includes LAN and Tailscale addresses when the server has both, so pairing works at home or on the road.
Listening data
- On the device, keeps listening stats for songs, albums, and artists, including average daily listening time.
- Richer breakdowns (for example per calendar day) are planned.
Planned
- A lot of things I have not planned yet.
Mobile App
If you want to build from source, check the README in each package folder:
ariami_desktop/- Desktop server appariami_cli/- CLI server for Raspberry Pi / Linux serversariami_mobile/- Mobile client appariami_core/- Shared library
Requirements: Dart SDK ^3.5.0, and Flutter (latest stable is fine for local builds; GitHub release binaries are built with Flutter 3.29.2).
MIT License - See LICENSE for details.



































