Coda

Navidrome

Connect Coda to one or more Navidrome servers for streaming and offline playback of your personal music collection.

What is Navidrome?

Navidrome is a free, self-hosted music server compatible with the Subsonic API. It streams your personal music library to any client that supports the Subsonic protocol. You maintain full control of your music and metadata.

Setting Up

  1. Go to Settings → Navidrome in the Coda app. You'll see a list of your saved server configurations.

  2. Tap the + button to add a new server.

  3. Enter a name, server URL, username, and password. The name is for your own reference (e.g., "Home", "Office"). The URL is the base URL of your Navidrome instance, for example: https://music.example.com. Your username and password are the same credentials you use to log into the Navidrome web interface.

  4. Tap Test & Save. Coda will verify the connection by pinging the server. On success, the server is saved and appears in your server list.

ℹMultiple Servers

You can add as many server configurations as you need. Tap any server in the list to switch to it — your library, playlists, downloads, and playback state are fully isolated per server.

ℹSecure Storage

Each server's credentials are encrypted with AES-256-GCM and stored separately in the device's secure enclave (iOS Keychain / Android Keystore) using expo-secure-store. Your passwords never appear in plaintext.

Browsing Your Library

Once a server is connected, the Navidrome tab appears in the bottom navigation. The active server's library is shown — you can switch servers from Settings → Navidrome at any time. Browse your remote library using the drill-down interface:

  • Artists → Albums by artist → Songs
  • Albums → Songs in album
  • Albums by Year → Albums grouped by release year
  • Albums by Genre → Albums grouped by genre

Searching

Use the search bar at the top of the Navidrome browser to search your remote library. Search results show matching artists, albums, and songs.

Adding to Local Library

Long-press any track in the Navidrome browser and select Add to Library to add it to your local library. The track will appear in your Library tab and can be played directly.

✦Auto-Download

When you add a Navidrome track to your library, Coda automatically caches the audio file and artwork for offline playback.

Offline Caching

Coda caches Navidrome tracks and artwork to local storage for offline playback. Cached files are stored in Coda/Downloads/<server>/audio and Coda/Downloads/<server>/artwork, organized per server configuration. Cached tracks are identified by a checkmark icon in the library.

How It Works

  • When you play a track from Navidrome, the audio is downloaded and cached locally.
  • On subsequent plays, the cached version is used instead of streaming again.
  • Artwork is cached separately for fast display.
  • You can also manually download tracks for offline playback from the long-press menu.

Managing Cache

Go to Settings to view your current cache size and clear the cache if needed.

Connection Handling

Coda uses a 15-second timeout for all network requests to Navidrome. If a server is unreachable, you'll see an error message with the specific issue. Your saved server configurations are preserved so you can retry when the server is back online, or switch to a different server.

Removing a Server

Go to Settings → Navidrome, tap Edit on a server, then tap Delete. This removes the server's credentials and offline cache from your device. Tracks already added to your local library from other servers are not affected.