<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Navidrome</title><link>https://pr-496.navidrome-website.pages.dev/</link><description>Recent content on Navidrome</description><generator>Hugo</generator><language>en</language><atom:link href="https://pr-496.navidrome-website.pages.dev/index.xml" rel="self" type="application/rss+xml"/><item><title>Development Environment</title><link>https://pr-496.navidrome-website.pages.dev/docs/developers/dev-environment/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/developers/dev-environment/</guid><description>&lt;div class="pageinfo pageinfo-primary"&gt;&#10;&lt;p&gt;This is just a summary on how to get started. If you are stuck or have any questions, please join our &lt;a href="https://discord.gg/xh7j7yF"&gt;Discord server&lt;/a&gt; and give us a shout on the &lt;code&gt;#dev&lt;/code&gt; channel&lt;/p&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;Any IDE with good support for GoLang and JavaScript/Node can be used for Navidrome development. We suggest using &lt;a href="https://code.visualstudio.com/"&gt;Visual Studio Code&lt;/a&gt;, which has excellent support for both languages.&lt;/p&gt;&#10;&lt;h3 id="using-vscode--dev-container-docker"&gt;Using VSCode + Dev Container (Docker)&lt;a class="td-heading-self-link" href="#using-vscode--dev-container-docker" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;The project includes a &lt;a href="https://code.visualstudio.com/docs/remote/containers"&gt;VSCode Dev Container&lt;/a&gt; configuration for using with &lt;a href="https://www.docker.com/products/docker-desktop"&gt;Docker&lt;/a&gt;. The Dev Container provides all dependencies out-of-the-box. If you prefer to install all dependencies yourself, or cannot/don&amp;rsquo;t want to install Docker for any reason, see the other sections below for step by step instructions for your OS.&lt;/p&gt;</description></item><item><title>navidrome artwork</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/artwork/</link><pubDate>Sun, 13 Sep 2026 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/artwork/</guid><description>&lt;p&gt;The &lt;code&gt;artwork&lt;/code&gt; commands tell you why a cover is wrong or an artist image is missing, without opening&#10;the database. They also queue artwork to resolve again, one item at a time or in bulk. See&#10;&lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/library/artwork/"&gt;Artwork resolution&lt;/a&gt; for how Navidrome picks an image.&lt;/p&gt;&#10;&lt;h2 id="usage"&gt;Usage&lt;a class="td-heading-self-link" href="#usage" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;navidrome artwork &amp;lt;subcommand&amp;gt; &lt;span class="o"&gt;[&lt;/span&gt;flags&lt;span class="o"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;All commands also accept the &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/#global-flags"&gt;global flags&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 id="artwork-kinds"&gt;Artwork kinds&lt;a class="td-heading-self-link" href="#artwork-kinds" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;Each kind of artwork has a short code. Not every subcommand accepts every kind.&lt;/p&gt;</description></item><item><title>Automated Backup</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/backup/</link><pubDate>Sat, 21 Dec 2024 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/backup/</guid><description>&lt;p&gt;Navidrome version 0.54.x introduces a backup feature that allows the music server&amp;rsquo;s data to get periodically exported.&#10;This guide will walk you through configuring backups using both a &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/configuration/options/"&gt;configuration&lt;/a&gt;&#10;file and environment variables, where to locate the backups, and how to restore from a backup.&lt;/p&gt;&#10;&lt;div class="alert alert-primary" role="alert"&gt;&#10;&lt;p&gt;Note: The backup process ONLY backs up the database (users, play counts, etc.). It does NOT back up the music or the config.&lt;/p&gt;&#10;&lt;/div&gt;&#10;&lt;h2 id="configuring-backup-with-configtoml"&gt;Configuring Backup with config.toml&lt;a class="td-heading-self-link" href="#configuring-backup-with-configtoml" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;To configure backups using the navidrome.toml file, insert the following lines to set up backups:&lt;/p&gt;</description></item><item><title>Navidrome Configuration Options</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/configuration/options/</link><pubDate>Fri, 06 Jan 2017 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/configuration/options/</guid><description>&lt;p&gt;Navidrome allows some customization using environment variables, loading from a configuration file&#10;or using command line arguments.&lt;/p&gt;&#10;&lt;p&gt;When the same option is set using multiple methods, Navidrome uses the following order of precedence (highest to lowest): environment variables, command line arguments, configuration file.&lt;/p&gt;&#10;&lt;h2 id="configuration-file"&gt;Configuration File&lt;a class="td-heading-self-link" href="#configuration-file" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;div class="alert alert-primary" role="alert"&gt;&#10;&lt;p&gt;Some options are only configurable using a configuration file. If you are using environment variables&#10;(ex: with Docker), you may not be able to set all options.&lt;/p&gt;</description></item><item><title>External Integrations (A.K.A. Agents)</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/integration/external-services/</link><pubDate>Wed, 04 Jan 2017 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/integration/external-services/</guid><description>&lt;p&gt;Navidrome uses external services (through &lt;strong&gt;agents&lt;/strong&gt;) to enrich your music library with artist biographies, images, album covers, similar artists, and more. Multiple agents can be configured, and they are tried in priority order. If one fails or returns no results, the next one is tried.&lt;/p&gt;&#10;&lt;h2 id="how-agents-work"&gt;How Agents Work&lt;a class="td-heading-self-link" href="#how-agents-work" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;The &lt;code&gt;Agents&lt;/code&gt; &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/configuration/options/#:~:text=Agents"&gt;config option&lt;/a&gt; controls which agents are enabled and in what order. It accepts a comma-separated list of agent names.&lt;/p&gt;</description></item><item><title>How to Use Smart Playlists in Navidrome (Beta)</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/features/smart-playlists/</link><pubDate>Mon, 02 Jan 2017 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/features/smart-playlists/</guid><description>&lt;p&gt;Smart Playlists in Navidrome offer a dynamic way to organize and enjoy your music collection. They are created using&#10;JSON objects stored in files with a &lt;code&gt;.nsp&lt;/code&gt; extension. These playlists are automatically updated based on specified&#10;criteria, providing a personalized and evolving music experience.&lt;/p&gt;&#10;&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Beta Feature&lt;/div&gt;&#10;&lt;p&gt;Smart Playlists are currently in beta and may have some limitations. Please report any issues or suggestions in the&#10;&lt;a href="https://github.com/navidrome/navidrome/discussions"&gt;Navidrome GitHub discussions&lt;/a&gt;.&lt;/p&gt;&#10;&lt;/div&gt;&#10;&lt;h2 id="creating-smart-playlists"&gt;Creating Smart Playlists&lt;a class="td-heading-self-link" href="#creating-smart-playlists" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;To create a Smart Playlist, you need to define a JSON object with specific &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/features/smart-playlists/#fields"&gt;fields&lt;/a&gt;&#10;and &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/features/smart-playlists/#operators"&gt;operators&lt;/a&gt; that describe the criteria for selecting tracks. The JSON object is stored in a &lt;code&gt;.nsp&lt;/code&gt; file&#10;Here are some examples to get you started:&lt;/p&gt;</description></item><item><title>Tagging Guidelines</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/library/tagging/</link><pubDate>Mon, 02 Jan 2017 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/library/tagging/</guid><description>&lt;h2 id="why-proper-tagging-is-important"&gt;Why Proper Tagging is Important&lt;a class="td-heading-self-link" href="#why-proper-tagging-is-important" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;Navidrome organizes your music library &lt;em&gt;entirely&lt;/em&gt; based on the metadata tags in your audio files. Unlike some music&#10;players, it does not use folder names or file names to group tracks&#10;(&lt;a href="https://pr-496.navidrome-website.pages.dev/docs/faq/#-can-you-add-a-browsing-by-folder-optionmode-to-navidrome"&gt;why?&lt;/a&gt;).&#10;This means that having clean and consistent tags is crucial for your music to display correctly.&#10;Proper tagging ensures that albums aren&amp;rsquo;t split up, artists are listed correctly, and you can easily browse or search&#10;for your music in Navidrome.&lt;/p&gt;</description></item><item><title>Creating New Themes</title><link>https://pr-496.navidrome-website.pages.dev/docs/developers/creating-themes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/developers/creating-themes/</guid><description>&lt;p&gt;Themes in Navidrome are simple &lt;a href="https://material-ui.com/customization/theming/"&gt;Material-UI themes&lt;/a&gt;. They are basic JS&#10;objects, that allow you to override almost every visual aspect of Navidrome&amp;rsquo;s UI.&lt;/p&gt;&#10;&lt;h2 id="steps-to-create-a-new-theme"&gt;Steps to create a new theme:&lt;a class="td-heading-self-link" href="#steps-to-create-a-new-theme" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ol&gt;&#10;&lt;li&gt;Create a new JS file in the &lt;code&gt;ui/src/themes&lt;/code&gt; folder that exports an object containing your theme. Create&#10;the theme based on the ReactAdmin/Material UI documentation below.&#10;See the existing themes for examples.&lt;/li&gt;&#10;&lt;li&gt;Add a &lt;code&gt;themeName&lt;/code&gt; property to your theme. This will be displayed in the theme selector&lt;/li&gt;&#10;&lt;li&gt;Add your new theme to the &lt;code&gt;ui/src/themes/index.js&lt;/code&gt; file&lt;/li&gt;&#10;&lt;li&gt;Start the application, your new theme should now appear as an option in the theme selector&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;Before submitting a pull request to include your theme in Navidrome, please test your theme thoroughly and make sure&#10;it is formatted with the &lt;a href="https://prettier.io/"&gt;Prettier&lt;/a&gt; rules found in the project (&lt;code&gt;ui/src/.prettierrc.js&lt;/code&gt;).&#10;Also, don&amp;rsquo;t forget to add lots of screenshots!&lt;/p&gt;</description></item><item><title>Using custom tags with Navidrome</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/configuration/custom-tags/</link><pubDate>Mon, 02 Jan 2017 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/configuration/custom-tags/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;As all tags imported are stored and indexed in the database, to improve performance and reduce storage requirements,&#10;Navidrome only imports a predefined set of tags. The complete list of default tags imported are listed&#10;&lt;a href="https://github.com/navidrome/navidrome/blob/master/resources/mappings.yaml"&gt;here&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;However, Navidrome supports importing and using custom tags from your music files. Custom tags allow you to extend the&#10;metadata beyond the default supported tags. This functionality can be configured via the &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/configuration/options/"&gt;configuration file&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Customizing Persistent IDs in Navidrome</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/configuration/persistent-ids/</link><pubDate>Mon, 02 Jan 2017 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/configuration/persistent-ids/</guid><description>&lt;h2 id="persistent-ids-in-navidrome"&gt;Persistent IDs in Navidrome&lt;a class="td-heading-self-link" href="#persistent-ids-in-navidrome" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;Persistent IDs (PIDs) are configurable identifiers introduced to provide stable references for Tracks and Albums in Navidrome, significantly improving how media is managed and identified.&lt;/p&gt;&#10;&lt;h3 id="overview-of-persistent-ids"&gt;Overview of Persistent IDs&lt;a class="td-heading-self-link" href="#overview-of-persistent-ids" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;Persistent IDs are unique, user-configurable identifiers for tracks and albums, enabling Navidrome to accurately detect and manage moved or re-tagged files, and disambiguate albums with identical names or duplicated entries.&lt;/p&gt;&#10;&lt;h3 id="key-features"&gt;Key Features&lt;a class="td-heading-self-link" href="#key-features" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Configurable and Flexible:&lt;/strong&gt; Users can define their PID structure using various tags, including&#10;&lt;code&gt;musicbrainz_trackid&lt;/code&gt;, &lt;code&gt;albumid&lt;/code&gt;, &lt;code&gt;discnumber&lt;/code&gt;, &lt;code&gt;tracknumber&lt;/code&gt;, &lt;code&gt;title&lt;/code&gt;, &lt;code&gt;folder&lt;/code&gt;, &lt;code&gt;albumartistid&lt;/code&gt;, &lt;code&gt;catalognum&lt;/code&gt;,&#10;Discogs IDs, or even &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/configuration/custom-tags/"&gt;custom tags&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Accurate File Detection:&lt;/strong&gt; Navidrome recognizes moved or re-tagged files, preventing duplication or mismatches.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Album Disambiguation:&lt;/strong&gt; Easily differentiate albums with identical names through custom tags like &lt;code&gt;albumversion&lt;/code&gt; (e.g., Deluxe Editions).&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="default-configuration"&gt;Default Configuration&lt;a class="td-heading-self-link" href="#default-configuration" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;The default &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/configuration/options/"&gt;configuration&lt;/a&gt; prioritizes MusicBrainz IDs (MBIDs) when available:&lt;/p&gt;</description></item><item><title>AudioMuse-AI</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/integration/audiomuse/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/integration/audiomuse/</guid><description>&lt;p&gt;&lt;a href="https://github.com/NeptuneHub/AudioMuse-AI"&gt;AudioMuse-AI&lt;/a&gt; is a self-hosted service that analyzes the actual audio content of your music library — tempo, timbre, energy, and other sonic characteristics — and uses that analysis to find songs that &lt;em&gt;sound&lt;/em&gt; similar. Unlike the &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/integration/external-services/"&gt;external metadata agents&lt;/a&gt;, which rely on third-party databases like Last.fm or Deezer, AudioMuse-AI works entirely from your own files, so it can find matches even for obscure or unreleased music.&lt;/p&gt;&#10;&lt;p&gt;It integrates with Navidrome through a &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/features/plugins/"&gt;plugin&lt;/a&gt;, the &lt;a href="https://github.com/NeptuneHub/AudioMuse-AI-NV-plugin"&gt;AudioMuse-AI-NV-plugin&lt;/a&gt;. Once set up, you get:&lt;/p&gt;</description></item><item><title>Externalized Authentication Quick Start</title><link>https://pr-496.navidrome-website.pages.dev/docs/getting-started/extauth-quickstart/</link><pubDate>Tue, 29 Jul 2025 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/getting-started/extauth-quickstart/</guid><description>&lt;h2 id="what-is-externalized-authentication"&gt;What is externalized authentication&lt;a class="td-heading-self-link" href="#what-is-externalized-authentication" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;Externalized authentication allows you to use an external system to handle authentication for Navidrome.&#10;Instead of managing user credentials in Navidrome itself, the responsibility is delegated to an external authentication service.&lt;/p&gt;&#10;&lt;p&gt;The external system comprises a reverse proxy (nginx, Caddy, Traefik, etc.) and an authentication service (Authelia, Authentik, or any other authentication service that works with your reverse proxy).&lt;/p&gt;&#10;&lt;div class="alert alert-primary" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;For Beginners&lt;/div&gt;&#10;&lt;p&gt;If you&amp;rsquo;re new to reverse proxies, they act as intermediaries between your users and Navidrome.&#10;They can handle things like SSL certificates, load balancing, and authentication before requests reach Navidrome.&lt;/p&gt;</description></item><item><title>Externalized Authentication</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/integration/authentication/</link><pubDate>Sat, 27 Apr 2024 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/integration/authentication/</guid><description>&lt;div class="alert alert-primary" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;For Beginners&lt;/div&gt;&#10;&lt;p&gt;Externalized authentication is a relatively advanced topic.&#10;You can check the &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/getting-started/extauth-quickstart/"&gt;Quick Start guide&lt;/a&gt; for a beginner-friendly introduction.&lt;/p&gt;&#10;&lt;/div&gt;&#10;&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Security Note&lt;/div&gt;&#10;&lt;p&gt;&lt;strong&gt;Navidrome works out of the box behind a reverse proxy without enabling externalized authentication.&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;You only need to enable externalized authentication if you want the proxy to handle the authentication.&#10;In other cases, enabling the feature without securing the reverse proxy configuration &lt;strong&gt;can leave your Navidrome setup vulnerable&lt;/strong&gt; to impersonation attacks.&lt;/p&gt;</description></item><item><title>navidrome backup</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/backup/</link><pubDate>Sun, 13 Sep 2026 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/backup/</guid><description>&lt;p&gt;The &lt;code&gt;backup&lt;/code&gt; commands make a copy of the Navidrome database, delete old copies, and restore a copy.&#10;Navidrome can also make backups on a schedule. See &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/admin/backup/"&gt;Automated Backup&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;Backups go to the folder in the &lt;code&gt;Backup.Path&lt;/code&gt; setting. Each backup file has a name like&#10;&lt;code&gt;navidrome_backup_2026.04.01_04.00.00.db&lt;/code&gt;, with the date and time it was made.&lt;/p&gt;&#10;&lt;h2 id="usage"&gt;Usage&lt;a class="td-heading-self-link" href="#usage" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;navidrome backup &amp;lt;subcommand&amp;gt; &lt;span class="o"&gt;[&lt;/span&gt;flags&lt;span class="o"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The alias &lt;code&gt;bkp&lt;/code&gt; works too, so &lt;code&gt;navidrome bkp create&lt;/code&gt; is the same as &lt;code&gt;navidrome backup create&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Multi-Library Support</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/features/multi-library/</link><pubDate>Fri, 18 Jul 2025 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/features/multi-library/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;Navidrome supports multiple music libraries since v0.58.0, allowing you to organize your music into separate collections with user-specific access controls. This feature is perfect for:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Separating different types of content (music vs. audiobooks)&lt;/li&gt;&#10;&lt;li&gt;Organizing by quality (lossy vs. lossless)&lt;/li&gt;&#10;&lt;li&gt;Separating personal collections (family members, roommates)&lt;/li&gt;&#10;&lt;li&gt;Organizing by genre or era (classical, jazz, modern)&lt;/li&gt;&#10;&lt;li&gt;Managing different sources (official releases vs. bootlegs/live recordings)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="how-multi-library-works"&gt;How Multi-Library Works&lt;a class="td-heading-self-link" href="#how-multi-library-works" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;h3 id="default-library"&gt;Default Library&lt;a class="td-heading-self-link" href="#default-library" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;When Navidrome starts, it automatically creates a default library using your &lt;code&gt;MusicFolder&lt;/code&gt; configuration. This becomes &amp;ldquo;Library 1&amp;rdquo; and all existing users automatically get access to it, ensuring backward compatibility.&lt;/p&gt;</description></item><item><title>Artwork location resolution</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/library/artwork/</link><pubDate>Thu, 05 Jan 2017 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/library/artwork/</guid><description>&lt;h2 id="artists"&gt;Artists&lt;a class="td-heading-self-link" href="#artists" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;Fetching images for artists is controlled by the &lt;code&gt;ArtistArtPriority&lt;/code&gt; &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/configuration/options/#advanced-configuration"&gt;config option&lt;/a&gt;.&#10;This is a comma-separated list of places to look for artist images.&#10;The default is &lt;code&gt;artist.*, album/artist.*, external&lt;/code&gt;, meaning:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;First try to find an &lt;code&gt;artist.*&lt;/code&gt; image in the artist folder(s)&lt;/li&gt;&#10;&lt;li&gt;If not found, try to find an &lt;code&gt;artist.*&lt;/code&gt; image in one of the album folders for this artist&lt;/li&gt;&#10;&lt;li&gt;If not found, try to fetch it from an &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/integration/external-services/"&gt;external service&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;If not found, use the artist image placeholder (grey star image)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;You can also configure a centralized folder for artist images using the &lt;code&gt;ArtistImageFolder&lt;/code&gt; &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/configuration/options/#advanced-configuration"&gt;config option&lt;/a&gt; and adding &lt;code&gt;image-folder&lt;/code&gt; to &lt;code&gt;ArtistArtPriority&lt;/code&gt;. When configured, Navidrome will look for image files in that folder named after the artist&amp;rsquo;s MusicBrainz ID or name.&lt;/p&gt;</description></item><item><title>Security Considerations</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/security/</link><pubDate>Mon, 02 Jan 2017 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/security/</guid><description>&lt;h2 id="permissions"&gt;Permissions&lt;a class="td-heading-self-link" href="#permissions" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;You should NOT run Navidrome as &lt;code&gt;root&lt;/code&gt;&lt;/strong&gt;.&#10;Ideally you should have it running under its own user and enable the &lt;code&gt;EnforceNonRootUser&lt;/code&gt; configuration option.&#10;Navidrome only needs read-only access to the Music Folder, and read-write permissions to the Data Folder.&lt;/p&gt;&#10;&lt;h2 id="encrypted-passwords"&gt;Encrypted passwords&lt;a class="td-heading-self-link" href="#encrypted-passwords" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;To be able to keep compatibility with the Subsonic API and its clients, Navidrome needs to store user&amp;rsquo;s passwords in its database. By default, Navidrome&#10;encrypts the passwords in the DB with a shared encryption key, just for the sake of obfuscation as this key can be easily found in the codebase.&lt;/p&gt;</description></item><item><title>Translations</title><link>https://pr-496.navidrome-website.pages.dev/docs/developers/translations/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/developers/translations/</guid><description>&lt;a href="https://poeditor.com/"&gt;&#10;&lt;p&gt;&#10;&lt;img src="https://github.com/user-attachments/assets/c19b1d2b-01e1-4682-a007-12356c42147c"&gt;&#10;&lt;/p&gt;&#10;&lt;/a&gt;&#10;&lt;p&gt;Translations are currently managed in &lt;a href="https://poeditor.com"&gt;POEditor&lt;/a&gt;.&#10;If you want to contribute new translations or help reviewing/proofreading any of the existing&#10;ones, please join our &lt;a href="https://discord.gg/xh7j7yF"&gt;Discord server&lt;/a&gt;, channel &lt;code&gt;#translations&lt;/code&gt;, for&#10;translation efforts coordination and to get further instructions.&lt;/p&gt;&#10;&lt;h2 id="contributing-with-a-pull-request"&gt;Contributing with a Pull Request&lt;a class="td-heading-self-link" href="#contributing-with-a-pull-request" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;Alternatively, you can submit a pull request with your proposed changes directly&#10;&lt;a href="https://github.com/navidrome/navidrome/tree/master/resources/i18n"&gt;to our project in GitHub&lt;/a&gt;. This method requires&#10;you to have a GitHub account and some basic knowledge of Git.&lt;/p&gt;</description></item><item><title>Adding Client Apps to the Catalog</title><link>https://pr-496.navidrome-website.pages.dev/docs/developers/adding-apps/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/developers/adding-apps/</guid><description>&lt;p&gt;Want to list your app in the &lt;a href="https://pr-496.navidrome-website.pages.dev/apps/"&gt;Compatible Client Apps&lt;/a&gt; catalog? This guide explains how to submit your app or update an existing entry.&lt;/p&gt;&#10;&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;Your app must support the &lt;a href="https://opensubsonic.netlify.app/"&gt;OpenSubsonic&lt;/a&gt;, &lt;a href="https://subsonic.org/pages/api.jsp"&gt;Subsonic&lt;/a&gt;, or Navidrome API&lt;/li&gt;&#10;&lt;li&gt;Your app must meet one of these availability requirements (&lt;strong&gt;apps that do not meet either will not be accepted&lt;/strong&gt;):&#10;&lt;ul&gt;&#10;&lt;li&gt;Open source: the repository must have at least &lt;strong&gt;15 stars&lt;/strong&gt; (GitHub, GitLab, Codeberg, or any Gitea/Forgejo host)&lt;/li&gt;&#10;&lt;li&gt;Closed source: the app must be publicly available on an app store (e.g. Google Play, Apple App Store)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;Images must be in WebP format, max 1200px (PNG/JPEG needs to be &lt;a href="https://www.navidrome.org/docs/developers/adding-apps/#processing-images"&gt;converted&lt;/a&gt;)&lt;/li&gt;&#10;&lt;li&gt;You&amp;rsquo;ll need a GitHub account to submit a pull request&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="quick-start"&gt;Quick Start&lt;a class="td-heading-self-link" href="#quick-start" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ol&gt;&#10;&lt;li&gt;Fork the &lt;a href="https://github.com/navidrome/website"&gt;navidrome/website&lt;/a&gt; repository&lt;/li&gt;&#10;&lt;li&gt;Create a folder for your app in &lt;code&gt;assets/apps/&lt;/code&gt; using kebab-case (e.g., &lt;code&gt;my-awesome-app&lt;/code&gt;)&lt;/li&gt;&#10;&lt;li&gt;Add an &lt;code&gt;index.yaml&lt;/code&gt; file with your app&amp;rsquo;s metadata&lt;/li&gt;&#10;&lt;li&gt;Add a thumbnail image and optional gallery screenshots&lt;/li&gt;&#10;&lt;li&gt;Convert (or resize) images if needed:&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npm run convert:images my-awesome-app&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#10;&lt;li&gt;Validate your entry using the provided scripts:&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npm run validate:app my-awesome-app&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#10;&lt;li&gt;Submit a pull request&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 id="folder-structure"&gt;Folder Structure&lt;a class="td-heading-self-link" href="#folder-structure" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;Each app has its own folder under &lt;code&gt;assets/apps/&lt;/code&gt;:&lt;/p&gt;</description></item><item><title>Navidrome API v1</title><link>https://pr-496.navidrome-website.pages.dev/docs/developers/api-v1/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/developers/api-v1/</guid><description>&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Work in progress&lt;/div&gt;&#10;&lt;p&gt;This API is still being designed and is &lt;strong&gt;not ready for implementation yet&lt;/strong&gt;. Anything in it may change without notice.&#10;When it is ready, it will be announced in the &lt;a href="https://github.com/navidrome/navidrome/releases"&gt;Navidrome release notes&lt;/a&gt;.&#10;Feedback is welcome in &lt;a href="https://github.com/navidrome/navidrome/discussions"&gt;GitHub Discussions&lt;/a&gt;.&lt;/p&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;Navidrome API v1 is Navidrome&amp;rsquo;s own HTTP API. It is separate from the &lt;a href="../subsonic-api/"&gt;Subsonic API&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;&lt;a href="https://pr-496.navidrome-website.pages.dev/api/v1/"&gt;Open the Navidrome API v1 Reference&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;The reference is generated from the OpenAPI spec in the&#10;&lt;a href="https://github.com/navidrome/navidrome/blob/master/api/bundled/openapi.yaml"&gt;Navidrome repository&lt;/a&gt;,&#10;so it always matches the latest development version of Navidrome.&lt;/p&gt;</description></item><item><title>navidrome doctor</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/doctor/</link><pubDate>Sun, 13 Sep 2026 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/doctor/</guid><description>&lt;p&gt;The &lt;code&gt;doctor&lt;/code&gt; command checks the database for problems. It only reads the database and never changes&#10;your data. Run it when Navidrome logs errors such as &lt;code&gt;database disk image is malformed&lt;/code&gt;, or when&#10;every scan fails.&lt;/p&gt;&#10;&lt;h2 id="usage"&gt;Usage&lt;a class="td-heading-self-link" href="#usage" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;navidrome doctor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="flags"&gt;Flags&lt;a class="td-heading-self-link" href="#flags" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;&lt;code&gt;doctor&lt;/code&gt; has no flags of its own. It accepts the &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/#global-flags"&gt;global flags&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;a class="td-heading-self-link" href="#examples" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Check the database&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;navidrome doctor&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Stop a script when the database has problems&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;navidrome doctor &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Check the database with Docker Compose&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker compose run --rm navidrome doctor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="what-it-checks"&gt;What it checks&lt;a class="td-heading-self-link" href="#what-it-checks" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;&lt;code&gt;doctor&lt;/code&gt; runs two checks.&lt;/p&gt;</description></item><item><title>Monitoring Navidrome</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/integration/monitoring/</link><pubDate>Mon, 08 Jul 2024 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/integration/monitoring/</guid><description>&lt;p&gt;Currently, Navidrome supports monitoring and alerting using&#10;Prometheus/&lt;a href="https://github.com/OpenObservability/OpenMetrics/blob/main/specification/OpenMetrics.md"&gt;OpenMetrics&lt;/a&gt;&#10;standard. Example Grafana dashboard:&lt;/p&gt;&#10;&lt;p align="center"&gt;&#10;&lt;img width="1000" src="https://pr-496.navidrome-website.pages.dev/screenshots/grafana-example.webp"&gt;&#10;&lt;/p&gt;&#10;&lt;h3 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;Prometheus is a service that takes data from a metrics endpoint and collects it.&#10;Grafana is a dashboard service that can take data from a Prometheus server and&#10;display it.&#10;Navidrome has an easy way to create a metrics endpoint that Prometheus can use.&#10;Once you point Prometheus to this endpoint, and Grafana to your Prometheus server,&#10;you will be able to monitor your Navidrome instance.&lt;/p&gt;</description></item><item><title>Jukebox mode</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/features/jukebox/</link><pubDate>Mon, 23 Oct 2023 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/features/jukebox/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;Navidrome&amp;rsquo;s Jukebox feature is a built-in functionality that allows users to play music directly to the server&amp;rsquo;s audio&#10;hardware. This essentially turns your server into a jukebox, enabling you to play songs or playlists remotely through a&#10;supported Subsonic client. With the Jukebox feature, you can control the audio playback in real-time, just like you&#10;would with any other media player. It&amp;rsquo;s a convenient way to enjoy your music collection without the need for&#10;additional hardware or software. Ideal for parties, background music, or personal enjoyment, this feature enhances&#10;the versatility of your Navidrome server setup.&lt;/p&gt;</description></item><item><title>Missing Files</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/library/missing-files/</link><pubDate>Mon, 02 Jan 2017 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/library/missing-files/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;When using Navidrome, you may encounter missing tracks or albums in your library. When moving or renaming files,&#10;Navidrome may not be able to match the old versions of your files with the new ones when scanning your library.&#10;This can result in &amp;ldquo;ghost&amp;rdquo; (grayed out) tracks or albums in your library.&lt;/p&gt;&#10;&lt;p&gt;Only admins can see the missing tracks and albums in the library:&lt;/p&gt;&#10;&lt;figure class="card rounded p-2 td-post-card mb-4 mt-4" style="max-width: 1050px"&gt;&#10;&lt;img class="card-img-top" src="https://pr-496.navidrome-website.pages.dev/docs/usage/library/missing-files/missing_files_hu_ed06f79cb58f5ad5.webp" width="1040" height="651"&gt;&#10;&lt;/figure&gt;&#10;&#10;&lt;p&gt;Missing files are not removed from the database on new scans to avoid inadvertently losing information like ratings,&#10;and play counts and references in playlists.&lt;/p&gt;</description></item><item><title>Subsonic API Compatibility</title><link>https://pr-496.navidrome-website.pages.dev/docs/developers/subsonic-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/developers/subsonic-api/</guid><description>&lt;h3 id="supported-subsonic-api-endpoints"&gt;Supported Subsonic API endpoints&lt;a class="td-heading-self-link" href="#supported-subsonic-api-endpoints" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;Navidrome is currently compatible with &lt;a href="http://www.subsonic.org/pages/api.jsp"&gt;Subsonic API&lt;/a&gt;&#10;v1.16.1, with some exceptions.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://opensubsonic.netlify.app/"&gt;OpenSubsonic&lt;/a&gt; extensions are being constantly added. For an up to date list of&#10;supported extensions, check &lt;a href="https://github.com/navidrome/navidrome/issues/2695"&gt;here&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;This is a (hopefully) up-to-date list of all Subsonic API endpoints implemented in Navidrome.&#10;Check the &amp;ldquo;Notes&amp;rdquo; column for limitations/missing behavior. Also keep in mind these differences&#10;between Navidrome and Subsonic:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Navidrome will not implement any video related functionality, it is focused on Music only&lt;/li&gt;&#10;&lt;li&gt;Navidrome supports &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/features/multi-library/"&gt;multiple Music Libraries (Music Folders)&lt;/a&gt; with user-specific access controls&lt;/li&gt;&#10;&lt;li&gt;There are currently no plans to support browse-by-folder. Endpoints for this functionality (Ex: &lt;code&gt;getIndexes&lt;/code&gt;, &lt;code&gt;getMusicDirectory&lt;/code&gt;)&#10;returns a simulated directory tree, using the format: &lt;code&gt;/Artist/Album/01 - Song.mp3&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;Navidrome does not mark songs as played by calls to &lt;code&gt;stream&lt;/code&gt;, only when&#10;&lt;code&gt;scrobble&lt;/code&gt; is called with &lt;code&gt;submission=true&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;IDs in Navidrome are always strings, normally MD5 hashes or UUIDs. This is important to&#10;mention because, even though the Subsonic API&#10;&lt;a href="http://www.subsonic.org/pages/inc/api/schema/subsonic-rest-api-1.16.1.xsd"&gt;schema&lt;/a&gt;&#10;specifies IDs as strings, some clients insist in converting IDs to integers&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;em&gt;System&lt;/em&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;ping&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getLicense&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Always valid ;)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;em&gt;Browsing&lt;/em&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getMusicFolders&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Returns all libraries accessible to the authenticated user&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getIndexes&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Doesn&amp;rsquo;t support &lt;code&gt;shortcuts&lt;/code&gt;, nor direct children&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getMusicDirectory&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getSong&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getArtists&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getArtist&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getAlbum&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getGenres&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getArtistInfo&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Requires &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/integration/external-services/"&gt;external integrations&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getArtistInfo2&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Requires &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/integration/external-services/"&gt;external integrations&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getAlbumInfo&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Requires &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/integration/external-services/"&gt;external integrations&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getAlbumInfo2&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Requires &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/integration/external-services/"&gt;external integrations&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getTopSongs&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Requires &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/integration/external-services/"&gt;Last.fm integration&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getSimilarSongs&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Requires &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/integration/external-services/"&gt;Last.fm integration&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getSimilarSongs2&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Requires &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/integration/external-services/"&gt;Last.fm integration&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;em&gt;Album/Songs Lists&lt;/em&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getAlbumList&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getAlbumList2&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getStarred&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getStarred2&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getNowPlaying&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getRandomSongs&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getSongsByGenre&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;em&gt;Searching&lt;/em&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;search2&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Doesn&amp;rsquo;t support Lucene queries, only simple auto complete queries&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;search3&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Doesn&amp;rsquo;t support Lucene queries, only simple auto complete queries&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;em&gt;Playlists&lt;/em&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getPlaylists&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;username&lt;/code&gt; parameter is not implemented&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getPlaylist&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;createPlaylist&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;updatePlaylist&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;deletePlaylist&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;em&gt;Media Retrieval&lt;/em&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;stream&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;download&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Accepts ids for Songs, Albums, Artists and Playlists. Also accepts transcoding options similar to &lt;code&gt;stream&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getCoverArt&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getLyrics&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Works with embedded lyrics and external files&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getAvatar&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;If Gravatar is enabled and the user has an email, returns a redirect to their Gravatar. Or else returns a placeholder&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;em&gt;Media Annotation&lt;/em&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;star&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;unstar&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;setRating&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;scrobble&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;em&gt;Bookmarks&lt;/em&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getBookmarks&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;createBookmark&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;deleteBookmark&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getPlayQueue&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;current&lt;/code&gt; is a string id, not &lt;code&gt;int&lt;/code&gt; as it shows in the official Subsonic API documentation&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;savePlayQueue&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;em&gt;Sharing&lt;/em&gt; (if &lt;code&gt;EnableSharing&lt;/code&gt; is &lt;code&gt;true&lt;/code&gt;)&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getShares&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;createShare&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;updateShare&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;deleteShare&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;em&gt;Internet radio&lt;/em&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getInternetRadioStations&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;createInternetRadioStation&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;updateInternetRadioStation&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;deleteInternetRadioStation&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;em&gt;User Management&lt;/em&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getUser&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Ignores username parameter, and returns the user identified in the authentication. Roles reflect actual server capabilities and user permissions. For example: &lt;code&gt;downloadRole&lt;/code&gt; depends on download being enabled, &lt;code&gt;jukeboxRole&lt;/code&gt; depends on jukebox being enabled, etc. Note that some features like ratings and favorites are always available to all users regardless of roles&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getUsers&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Returns only the user identified in the authentication&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;em&gt;Media library scanning&lt;/em&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;getScanStatus&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Also returns the extra fields &lt;code&gt;lastScan&lt;/code&gt; and &lt;code&gt;folderCount&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;startScan&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Accepts an extra &lt;code&gt;fullScan&lt;/code&gt; boolean param, to force a full scan&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;</description></item><item><title>navidrome inspect</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/inspect/</link><pubDate>Sun, 13 Sep 2026 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/inspect/</guid><description>&lt;p&gt;The &lt;code&gt;inspect&lt;/code&gt; command prints the tags of one or more music files, the way Navidrome reads them. Use&#10;it when an album shows up split in two, or a tag you set doesn&amp;rsquo;t appear in Navidrome. For each file&#10;it prints the raw tags stored in the file and the mapped tags Navidrome uses. See&#10;&lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/library/tagging/"&gt;Tagging&lt;/a&gt; for how Navidrome maps tags.&lt;/p&gt;&#10;&lt;h2 id="usage"&gt;Usage&lt;a class="td-heading-self-link" href="#usage" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;navidrome inspect &lt;span class="o"&gt;[&lt;/span&gt;flags&lt;span class="o"&gt;]&lt;/span&gt; &amp;lt;file&amp;gt; &lt;span class="o"&gt;[&lt;/span&gt;&amp;lt;file&amp;gt;...&lt;span class="o"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;All commands also accept the &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/#global-flags"&gt;global flags&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Exclude Content From Library</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/library/exclude-content/</link><pubDate>Sat, 05 Jul 2025 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/library/exclude-content/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;Navidrome allows the usage of a &lt;code&gt;.ndignore&lt;/code&gt; file to exclude content from being added to Navidrome&amp;rsquo;s library. These files can be used in the following ways:&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;A &lt;strong&gt;blank&lt;/strong&gt; &lt;code&gt;.ndignore&lt;/code&gt; file can be added to a directory, and as a result Navidrome will ignore that folder and its subfolders from being added to Navidrome&amp;rsquo;s library.&lt;/li&gt;&#10;&lt;li&gt;A &lt;code&gt;.ndignore&lt;/code&gt; file also supports &lt;code&gt;.gitignore&lt;/code&gt; syntax inside of it to set rules for content to exclude. This allows you to place a single file in your parent Music folder and then use a single file to establish rules on ignoring certain folders, filetypes, or files.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h3 id="key-behaviors"&gt;Key behaviors&lt;a class="td-heading-self-link" href="#key-behaviors" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Cascading&lt;/strong&gt;: Patterns from parent directories apply to all subdirectories&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Multiple files&lt;/strong&gt;: You can place &lt;code&gt;.ndignore&lt;/code&gt; files in different directories&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;div class="alert alert-info" role="alert"&gt;&#10;&lt;p&gt;A new or updated &lt;code&gt;.ndignore&lt;/code&gt; file should be auto-detected by Navidrome, or can be detected with a Quick Scan.&lt;/p&gt;</description></item><item><title>Sharing</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/features/sharing/</link><pubDate>Mon, 02 Jan 2017 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/features/sharing/</guid><description>&lt;p&gt;Navidrome has a &amp;ldquo;Sharing&amp;rdquo; feature which allows users to generate a shareable link for a track, album, artist, or playlist. This link can then be sent to friends, allowing them to listen or download the music without having an account on your Navidrome instance.&lt;/p&gt;&#10;&lt;h3 id="enabling-and-disabling-sharing"&gt;Enabling and Disabling Sharing&lt;a class="td-heading-self-link" href="#enabling-and-disabling-sharing" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;The Sharing feature is enabled by default. To turn it off, set &lt;code&gt;EnableSharing=false&lt;/code&gt; in your&#10;&lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/configuration/options/"&gt;configuration&lt;/a&gt; file, or set the environment variable &lt;code&gt;ND_ENABLESHARING=false&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>navidrome missing</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/missing/</link><pubDate>Sun, 13 Sep 2026 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/missing/</guid><description>&lt;p&gt;The &lt;code&gt;missing&lt;/code&gt; commands list files marked as missing, and remap a missing file onto an existing one.&lt;/p&gt;&#10;&lt;p&gt;The scanner marks a file missing when it no longer finds it on disk. When you rename or move a file,&#10;the scanner normally reconnects it and carries over play counts, ratings, starred status, and&#10;bookmarks. If the scanner can&amp;rsquo;t match the two files, the old entry stays missing and the new file&#10;starts with no history. &lt;code&gt;missing fix&lt;/code&gt; does that remap by hand.&lt;/p&gt;</description></item><item><title>Anonymous Data Collection</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/insights/</link><pubDate>Sun, 08 Dec 2024 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/insights/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;Navidrome includes an &lt;strong&gt;anonymous usage statistics feature&lt;/strong&gt; designed to help improve the project for all users.&#10;This page explains what data is collected, how it is used, and how to opt out if you prefer not to participate.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="key-principles"&gt;Key Principles&lt;a class="td-heading-self-link" href="#key-principles" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Anonymous Data Only&lt;/strong&gt;: Navidrome collects only non-personal, anonymous data to guide future improvements.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;What’s Collected&lt;/strong&gt;: See &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/admin/insights/#what-will-be-collected"&gt;Collected Data&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;What’s NOT Collected&lt;/strong&gt;: No emails, IP addresses, usernames, or other identifiable data. See &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/admin/insights/#what-will-not-be-collected"&gt;Excluded Data&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Opt-Out Available&lt;/strong&gt;: Enabled by default, but you can disable it anytime.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;In-House Data Handling&lt;/strong&gt;: Collected data goes to an &lt;a href="https://github.com/navidrome/insights"&gt;open-source server&lt;/a&gt; hosted by the project—no third-party services.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Full Transparency&lt;/strong&gt;: Logs and UI indicators show when data is sent and what it contains.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="what-will-be-collected"&gt;What Will Be Collected?&lt;a class="td-heading-self-link" href="#what-will-be-collected" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;Below is a plain-English explanation of what &lt;a href="https://github.com/navidrome/navidrome/blob/insights/core/metrics/insights/data.go"&gt;each field&lt;/a&gt;&#10;is generally intended to represent. Each field corresponds to a piece of information about the running application or its environment:&lt;/p&gt;</description></item><item><title>Scrobbling</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/features/scrobbling/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/features/scrobbling/</guid><description>&lt;p&gt;Navidrome allows you to easily scrobble your played songs to Last.fm and ListenBrainz.&lt;/p&gt;&#10;&lt;h2 id="lastfm"&gt;Last.fm&lt;a class="td-heading-self-link" href="#lastfm" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ol&gt;&#10;&lt;li&gt;Ensure you have the API Key and API Secret set according to the instructions in &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/integration/external-services/#lastfm"&gt;External Integrations&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;Go to your user profile&amp;rsquo;s Personal Settings.&lt;/li&gt;&#10;&lt;li&gt;Toggle the option &lt;code&gt;Scrobble to Last.fm&lt;/code&gt;, a new browser tab will open directing you to Last.fm.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p align="center"&gt;&#10;&lt;img width="500" src="https://pr-496.navidrome-website.pages.dev/screenshots/navidrome-personal-settings.webp"&gt;&#10;&lt;/p&gt;&#10;&lt;ol start="4"&gt;&#10;&lt;li&gt;If you are not logged in, then log in with your Last.fm credentials.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p align="center"&gt;&#10;&lt;img width="500" src="https://pr-496.navidrome-website.pages.dev/screenshots/lastfm-login.webp"&gt;&#10;&lt;/p&gt;&#10;&lt;ol start="5"&gt;&#10;&lt;li&gt;Click &amp;ldquo;Yes, allow access&amp;rdquo;.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p align="center"&gt;&#10;&lt;img width="500" src="https://pr-496.navidrome-website.pages.dev/screenshots/lastfm-allow-access.webp"&gt;&#10;&lt;/p&gt;</description></item><item><title>navidrome plugin</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/plugin/</link><pubDate>Sun, 13 Sep 2026 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/plugin/</guid><description>&lt;p&gt;The &lt;code&gt;plugin&lt;/code&gt; commands list, check, configure, enable, and disable plugins. They do the same things as&#10;the plugin screens in the web UI. See &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/features/plugins/"&gt;Plugins&lt;/a&gt; for how the plugin&#10;system works.&lt;/p&gt;&#10;&lt;h2 id="usage"&gt;Usage&lt;a class="td-heading-self-link" href="#usage" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;navidrome plugin &amp;lt;subcommand&amp;gt; &lt;span class="o"&gt;[&lt;/span&gt;flags&lt;span class="o"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;All commands also accept the &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/#global-flags"&gt;global flags&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;Commands that work with installed plugins need the plugin system enabled. &lt;code&gt;Plugins.Enabled&lt;/code&gt; is on&#10;by default. You can still use &lt;code&gt;plugin info&lt;/code&gt; and &lt;code&gt;plugin validate&lt;/code&gt; on a &lt;code&gt;.ndp&lt;/code&gt; package file when the&#10;plugin system is disabled.&lt;/p&gt;</description></item><item><title>Plugins</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/features/plugins/</link><pubDate>Sat, 31 Jan 2026 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/features/plugins/</guid><description>&lt;p&gt;Navidrome supports a plugin system that allows you to extend its functionality with community-developed extensions. Plugins run in a secure WebAssembly sandbox, providing isolation from the main application while enabling powerful customizations.&lt;/p&gt;&#10;&lt;div class="alert alert-info" role="alert"&gt;&#10;&lt;p&gt;Plugins are developed by the community. While they run in a secure sandbox, you should always review a plugin&amp;rsquo;s documentation and source code before installation.&lt;/p&gt;&#10;&lt;/div&gt;&#10;&lt;h2 id="what-plugins-can-do"&gt;What Plugins Can Do&lt;a class="td-heading-self-link" href="#what-plugins-can-do" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;Plugins can extend Navidrome in several ways:&lt;/p&gt;</description></item><item><title>navidrome pls</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/pls/</link><pubDate>Sun, 13 Sep 2026 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/pls/</guid><description>&lt;p&gt;The &lt;code&gt;pls&lt;/code&gt; commands list playlists, export them to M3U files, and import M3U files as playlists.&lt;/p&gt;&#10;&lt;p&gt;Navidrome also imports M3U files it finds in your library when it scans. You don&amp;rsquo;t need&#10;&lt;code&gt;pls import&lt;/code&gt; for those. See &lt;code&gt;AutoImportPlaylists&lt;/code&gt; and &lt;code&gt;PlaylistsPath&lt;/code&gt; in&#10;&lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/configuration/options/"&gt;Configuration Options&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 id="usage"&gt;Usage&lt;a class="td-heading-self-link" href="#usage" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;navidrome pls --playlist &amp;lt;name-or-id&amp;gt; &lt;span class="o"&gt;[&lt;/span&gt;--output &amp;lt;file&amp;gt;&lt;span class="o"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;navidrome pls &amp;lt;subcommand&amp;gt; &lt;span class="o"&gt;[&lt;/span&gt;flags&lt;span class="o"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;pls&lt;/code&gt; with no subcommand exports one playlist. &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/pls/#pls-export"&gt;&lt;code&gt;pls export&lt;/code&gt;&lt;/a&gt; does the same, and it&#10;can also export many playlists at once.&lt;/p&gt;</description></item><item><title>Jellyfin API (Experimental)</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/features/jellyfin/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/features/jellyfin/</guid><description>&lt;p&gt;Starting with version 0.64.0, Navidrome can answer a subset of the &lt;a href="https://jellyfin.org/"&gt;Jellyfin&lt;/a&gt; API. Music apps built&#10;for Jellyfin can connect to Navidrome and play your library. You do not need a Jellyfin server.&lt;/p&gt;&#10;&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Experimental&lt;/div&gt;&#10;&lt;p&gt;This API is new, and some clients may hit requests that Navidrome does not answer yet. It covers what a music client&#10;needs. Video, live TV and the Jellyfin admin dashboard are not part of it. Please report problems in&#10;&lt;a href="https://github.com/navidrome/navidrome/issues"&gt;GitHub issues&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>navidrome scan</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/scan/</link><pubDate>Sun, 13 Sep 2026 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/scan/</guid><description>&lt;p&gt;The &lt;code&gt;scan&lt;/code&gt; command scans your music library for new, changed, and removed files. Use it to start a&#10;scan from a script, to force a full scan, or to scan only some folders.&lt;/p&gt;&#10;&lt;h2 id="usage"&gt;Usage&lt;a class="td-heading-self-link" href="#usage" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;navidrome scan &lt;span class="o"&gt;[&lt;/span&gt;flags&lt;span class="o"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;All commands also accept the &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/#global-flags"&gt;global flags&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 id="flags"&gt;Flags&lt;a class="td-heading-self-link" href="#flags" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Flag&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Default&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;-f, --full&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check all folders and ignore modification times&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;-t, --target&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Scan only this folder, as a &lt;code&gt;libraryID:folderPath&lt;/code&gt; pair. Repeatable&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--target-file&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;File with folders to scan, one &lt;code&gt;libraryID:folderPath&lt;/code&gt; pair per line&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;Navidrome also has a &lt;code&gt;--subprocess&lt;/code&gt; flag. The server uses it to run scans, so don&amp;rsquo;t pass it&#10;yourself.&lt;/p&gt;</description></item><item><title>navidrome search</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/search/</link><pubDate>Sun, 13 Sep 2026 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/search/</guid><description>&lt;p&gt;The &lt;code&gt;search&lt;/code&gt; command maintains the full-text search index.&lt;/p&gt;&#10;&lt;h2 id="usage"&gt;Usage&lt;a class="td-heading-self-link" href="#usage" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;navidrome search &amp;lt;subcommand&amp;gt; &lt;span class="o"&gt;[&lt;/span&gt;flags&lt;span class="o"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;All commands also accept the &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/#global-flags"&gt;global flags&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 id="subcommands"&gt;Subcommands&lt;a class="td-heading-self-link" href="#subcommands" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Subcommand&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/search/#search-rebuild"&gt;&lt;code&gt;rebuild&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Delete the search index and build it again from the library data&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h3 id="search-rebuild"&gt;&lt;code&gt;search rebuild&lt;/code&gt;&lt;a class="td-heading-self-link" href="#search-rebuild" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;Deletes the full-text search index and builds it again from your library data. The index only holds&#10;copies of data stored elsewhere in the database, so you lose nothing. Navidrome checks the new index&#10;before it saves it.&lt;/p&gt;</description></item><item><title>navidrome service</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/service/</link><pubDate>Sun, 13 Sep 2026 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/service/</guid><description>&lt;p&gt;The &lt;code&gt;service&lt;/code&gt; commands install Navidrome as a service in your OS service manager, then start, stop,&#10;and check it. The service manager is systemd on most Linux systems, launchd on macOS, and the&#10;Service Control Manager on Windows. &lt;code&gt;navidrome service --help&lt;/code&gt; shows the one your system uses.&lt;/p&gt;&#10;&lt;p&gt;The installation guides for &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/installation/linux/"&gt;Linux&lt;/a&gt;, &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/installation/macos/"&gt;macOS&lt;/a&gt;,&#10;and &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/installation/windows/"&gt;Windows&lt;/a&gt; show the full setup.&lt;/p&gt;&#10;&lt;h2 id="usage"&gt;Usage&lt;a class="td-heading-self-link" href="#usage" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;navidrome service &amp;lt;subcommand&amp;gt; &lt;span class="o"&gt;[&lt;/span&gt;flags&lt;span class="o"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The alias &lt;code&gt;svc&lt;/code&gt; works too, so &lt;code&gt;navidrome svc status&lt;/code&gt; is the same as &lt;code&gt;navidrome service status&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>navidrome user</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/user/</link><pubDate>Sun, 13 Sep 2026 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/user/</guid><description>&lt;p&gt;The &lt;code&gt;user&lt;/code&gt; commands create, edit, list, and delete Navidrome users.&lt;/p&gt;&#10;&lt;p&gt;These commands need at least one admin user in the database. On a new install, create the first&#10;admin in the web UI.&lt;/p&gt;&#10;&lt;h2 id="usage"&gt;Usage&lt;a class="td-heading-self-link" href="#usage" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;navidrome user &amp;lt;subcommand&amp;gt; &lt;span class="o"&gt;[&lt;/span&gt;flags&lt;span class="o"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;All commands also accept the &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/#global-flags"&gt;global flags&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 id="subcommands"&gt;Subcommands&lt;a class="td-heading-self-link" href="#subcommands" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Subcommand&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Alias&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/user/#user-create"&gt;&lt;code&gt;create&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;c&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Create a user&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/user/#user-edit"&gt;&lt;code&gt;edit&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;e&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Change a user&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/user/#user-list"&gt;&lt;code&gt;list&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;List users&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/user/#user-delete"&gt;&lt;code&gt;delete&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;d&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Delete a user&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h3 id="user-create"&gt;&lt;code&gt;user create&lt;/code&gt;&lt;a class="td-heading-self-link" href="#user-create" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;Creates a user. The command asks for the password twice. Press Enter with no password to cancel.&#10;There is no flag for the password, so run the command in a terminal. With &lt;code&gt;docker run&lt;/code&gt;, add &lt;code&gt;-it&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Windows Install</title><link>https://pr-496.navidrome-website.pages.dev/docs/installation/windows/</link><pubDate>Mon, 19 Aug 2024 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/installation/windows/</guid><description>&lt;h2 id="msi-install"&gt;MSI Install&lt;a class="td-heading-self-link" href="#msi-install" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;&lt;a href="https://github.com/navidrome/navidrome/releases/"&gt;Download&lt;/a&gt; and install the latest Navidrome MSI for the correct version of Windows (most likely AMD64). The&#10;installer will prompt for basic configuration options (port, directories etc). These can be left as default or&#10;customised to your setup. The service will be installed and started automatically, once the installer has completed&#10;you can go to [http://127.0.0.1:4533] (or whichever port you chose) in a browser and setup the first user.&#10;The &lt;code&gt;navidrome.ini&lt;/code&gt; configuration file will be located in the installation folder (default: &lt;code&gt;C:\Program Files\Navidrome&lt;/code&gt;).&lt;/p&gt;</description></item><item><title>Installing with Docker</title><link>https://pr-496.navidrome-website.pages.dev/docs/installation/docker/</link><pubDate>Thu, 05 Jan 2017 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/installation/docker/</guid><description>&lt;p&gt;&lt;a href="https://hub.docker.com/r/deluan/navidrome"&gt;Docker images&lt;/a&gt; are available for the&#10;&lt;em&gt;linux/amd64&lt;/em&gt;, &lt;em&gt;linux/arm/v6&lt;/em&gt;, &lt;em&gt;linux/arm/v7&lt;/em&gt; and &lt;em&gt;linux/arm64&lt;/em&gt; platforms. They include everything needed to&#10;run Navidrome.&lt;/p&gt;&#10;&lt;h3 id="using-docker-compose-"&gt;Using &lt;code&gt;docker-compose&lt;/code&gt; :&lt;a class="td-heading-self-link" href="#using-docker-compose-" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;Create a &lt;code&gt;docker-compose.yml&lt;/code&gt; file with the following content (or add the &lt;code&gt;navidrome&lt;/code&gt; service&#10;below to your existing file):&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;services&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;navidrome&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;deluan/navidrome:latest&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;user&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;1000&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;1000&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# must own the data folder and be able to read music folder(s). See Permissions below&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;ports&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="s2"&gt;&amp;#34;4533:4533&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;restart&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;unless-stopped&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;environment&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# Optional: put your config options customization here. Examples:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# ND_LOGLEVEL: debug&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="s2"&gt;&amp;#34;/path/to/data:/data&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="s2"&gt;&amp;#34;/path/to/your/music/folder:/music:ro&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Start it with &lt;code&gt;docker-compose up -d&lt;/code&gt;. Note that the environment variables above are just an example and are not required. The&#10;values in the example are already the defaults&lt;/p&gt;</description></item><item><title>Linux Install</title><link>https://pr-496.navidrome-website.pages.dev/docs/installation/linux/</link><pubDate>Thu, 05 Jan 2017 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/installation/linux/</guid><description>&lt;div class="pageinfo pageinfo-primary"&gt;&#10;&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; These instructions were created for the Ubuntu distribution, and even though they contain specific Ubuntu/Debian instructions (ex: &lt;code&gt;apt&lt;/code&gt;) the concepts are generic enough and can be applied on most Linux distributions, even on those not based on Debian (ex: CentOS and OpenSUSE)&lt;/p&gt;&#10;&lt;/div&gt;&#10;&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Important note&lt;/div&gt;&#10;&lt;p&gt;The following steps have been tested on KGARNER7&amp;rsquo;s MACHINE! WHICH IS: Ubuntu 18.04 and should work on all version 16.04 and above as well as other Debian based distros. Throughout these instructions the commands will have placeholders for the user (&lt;code&gt;&amp;lt;user&amp;gt;&lt;/code&gt;) and group (&lt;code&gt;&amp;lt;group&amp;gt;&lt;/code&gt;) you want to run Navidrome under and the music folder path (&lt;code&gt;&amp;lt;library_path&amp;gt;&lt;/code&gt;). If you are using an existing media library ensure the user has permissions to the media library.&lt;/p&gt;</description></item><item><title>Installing with Podman</title><link>https://pr-496.navidrome-website.pages.dev/docs/installation/podman/</link><pubDate>Thu, 05 Jan 2017 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/installation/podman/</guid><description>&lt;p&gt;&lt;a href="https://hub.docker.com/r/deluan/navidrome"&gt;Container images&lt;/a&gt; are available for the&#10;&lt;em&gt;linux/amd64&lt;/em&gt;, &lt;em&gt;linux/arm/v7&lt;/em&gt; and &lt;em&gt;linux/arm64&lt;/em&gt; platforms. They include everything needed to&#10;run Navidrome.&lt;/p&gt;&#10;&lt;h3 id="using-podman-quadlet-"&gt;Using &lt;code&gt;Podman Quadlet&lt;/code&gt; :&lt;a class="td-heading-self-link" href="#using-podman-quadlet-" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;Podman is created to run as both rootful (root user), and rootless (non-root user) modes.&#10;Quadlet is a generator tool embeded directly into Podman that translate your *.container files into systemd service. So you can enable/disable it to auto load at each session, like normal systemd service.&lt;/p&gt;</description></item><item><title>macOS Install</title><link>https://pr-496.navidrome-website.pages.dev/docs/installation/macos/</link><pubDate>Wed, 04 Jan 2017 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/installation/macos/</guid><description>&lt;p&gt;You can start Navidrome by double-clicking the binary, or by running it in a terminal. However,&#10;it then stops when you close the terminal window, and it does not start again when the Mac restarts.&lt;/p&gt;&#10;&lt;p&gt;To run Navidrome in the background, install it as a service with the&#10;&lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/service/"&gt;&lt;code&gt;navidrome service&lt;/code&gt;&lt;/a&gt; command. The service starts when the Mac&#10;starts, even before anyone logs in, and macOS restarts it if it crashes.&lt;/p&gt;&#10;&lt;h2 id="get-navidrome"&gt;Get Navidrome&lt;a class="td-heading-self-link" href="#get-navidrome" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;Create a folder for Navidrome, and make your user its owner:&lt;/p&gt;</description></item><item><title>FreeBSD Install</title><link>https://pr-496.navidrome-website.pages.dev/docs/installation/freebsd/</link><pubDate>Tue, 03 Jan 2017 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/installation/freebsd/</guid><description>&lt;p&gt;The following steps have been tested on FreeBSD 12 and 13. They should work on all versions 11.4 and above as well as other supported versions. All prerequisites will be automatically installed when using a package or if building from ports. Throughout these instructions the commands will have placeholders for the user (&lt;code&gt;&amp;lt;user&amp;gt;&lt;/code&gt;) and group (&lt;code&gt;&amp;lt;group&amp;gt;&lt;/code&gt;) you want to run Navidrome under and the music folder path (&lt;code&gt;&amp;lt;library_path&amp;gt;&lt;/code&gt;). If you are using an existing media library ensure the user has permissions to the media library.&lt;/p&gt;</description></item><item><title>Community Maintained Packages</title><link>https://pr-496.navidrome-website.pages.dev/docs/installation/packages/</link><pubDate>Mon, 01 Feb 2016 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/installation/packages/</guid><description>&lt;div class="pageinfo pageinfo-primary"&gt;&#10;&lt;p&gt;&lt;strong&gt;DISCLAIMER&lt;/strong&gt;: These packages are not maintained by the Navidrome project, any issues should be reported to their authors.&lt;/p&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;Even though the Navidrome project does not provide any pre-packaged installation for specific platforms,&#10;there are some packages created and maintained by the community, that can simplify the setup on some systems.&lt;/p&gt;&#10;&lt;p&gt;Here is the list of packages for various OSes/Distributions, provided by Repology:&lt;/p&gt;&#10;&lt;a href="https://repology.org/project/navidrome/versions"&gt;&#10;&lt;p&gt;&#10;&lt;img src="https://repology.org/badge/vertical-allrepos/navidrome.svg?columns=2&amp;exclude_unsupported=1" alt="Packaging status"&gt;&#10;&lt;/p&gt;&#10;&lt;/a&gt;&#10;&lt;p&gt;More packages available, with links to download/install instructions:&lt;/p&gt;</description></item><item><title>Managed Hosting</title><link>https://pr-496.navidrome-website.pages.dev/docs/installation/managed/</link><pubDate>Sun, 10 Jan 2016 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/installation/managed/</guid><description>&lt;p&gt;The following providers offer managed hosting for Navidrome. This can be a good option if you&#10;don&amp;rsquo;t want to manage your own server.&lt;/p&gt;&#10;&lt;div class="pageinfo pageinfo-primary"&gt;&#10;&lt;p&gt;The providers below have partnered with us to offer &lt;strong&gt;officially supported, cloud-hosted&#10;solutions&lt;/strong&gt;&lt;a href="https://pr-496.navidrome-website.pages.dev/docs/faq/#-can-i-run-navidrome-in-the-cloud-without-managing-my-own-server"&gt;*&lt;/a&gt;.&lt;/p&gt;&#10;&lt;/div&gt;&#10;&lt;h3 id="pikapods"&gt;PikaPods&lt;a class="td-heading-self-link" href="#pikapods" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;Offers 1-click deployments for Navidrome with $5 free welcome credit. EU and US regions available.&#10;Includes daily backups and regular app updates.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://www.pikapods.com/pods?run=navidrome"&gt;&lt;img style="height:40px;width:auto" src="https://pr-496.navidrome-website.pages.dev/images/hosting/pikapods.svg" alt="Run on PikaPods"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;div id="zenith"&gt;&lt;/div&gt;&#10;&lt;h3 id="zenith-hosting"&gt;Zenith Hosting&lt;a class="td-heading-self-link" href="#zenith-hosting" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;Offers 1-click deployments for Navidrome. Upload and manage music in your browser and use your own domain for Navidrome.&lt;/p&gt;</description></item><item><title>Build from sources</title><link>https://pr-496.navidrome-website.pages.dev/docs/installation/build-from-source/</link><pubDate>Tue, 05 Jan 2016 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/installation/build-from-source/</guid><description>&lt;div class="pageinfo pageinfo-primary"&gt;&#10;&lt;p&gt;Currently these instructions only work for Unix-based systems (Linux, macOS, BSD, &amp;hellip;). If you are getting&#10;trouble trying to build Navidrome in a Windows system, please join our &lt;a href="https://discord.gg/xh7j7yF"&gt;Discord server&lt;/a&gt;&#10;and ask for help, we will be glad to assist you&lt;/p&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;If you can&amp;rsquo;t find a &lt;a href="https://github.com/navidrome/navidrome/releases"&gt;pre-built binary&lt;/a&gt; for your platform,&#10;you should open an &lt;a href="https://github.com/navidrome/navidrome/issues"&gt;issue in the project&amp;rsquo;s GitHub page&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;If you don&amp;rsquo;t want to wait, you can try to build the binary yourself, with the following steps.&lt;/p&gt;</description></item><item><title/><link>https://pr-496.navidrome-website.pages.dev/index.json</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/index.json</guid><description/></item><item><title>Search Results</title><link>https://pr-496.navidrome-website.pages.dev/search/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/search/</guid><description/></item></channel></rss>