Mopidy-Local — Mopidy 2.0.1 documentation

# Mopidy-Local

Mopidy-Local is an extension for playing music from your local music archive. It is bundled with Mopidy and enabled by default. Though, you’ll have to scan your music collection to build a cache of metadata before the Mopidy-Local will be able to play your music.

This backend handles URIs starting with `local:`.

## Generating a local library

The command mopidy local scan will scan the path set in the `local/media_dir` config value for any audio files and build a library of metadata.

To make a local library for your music available for Mopidy:

1. Ensure that the `local/media_dir` config value points to where your music is located. Check the current setting by running:

       mopidy config

2. Scan your media library.:

       mopidy local scan

3. Start Mopidy, find the music library in a client, and play some local music!

## Updating the local library

When you’ve added or removed music in your collection and want to update Mopidy’s index of your local library, you need to rescan:

    mopidy local scan

Note that if you are using the default local library storage, `json`, you need to restart Mopidy after the scan completes for the updated index to be used.

If you want index updates to come into effect immediately, you can try out Mopidy-Local-SQLite, which will probably become the default backend in the near future.

## Pluggable library support

Local libraries are fully pluggable. What this means is that users may opt to disable the current default library `json`, replacing it with a third party one. When running mopidy local scan Mopidy will populate whatever the current active library is with data. Only one library may be active at a time.

To create a new library provider you must create class that implements the `mopidy.local.Library` interface and install it in the extension registry under `local:library`. Any data that the library needs to store on disc should be stored in the extension’s data dir, as returned by `get_data_dir()`.

## Configuration

See Configuration for general help on configuring Mopidy.

    [local]
    enabled = true
    library = json
    media_dir = $XDG_MUSIC_DIR
    scan_timeout = 1000
    scan_flush_threshold = 100
    scan_follow_symlinks = false
    excluded_file_extensions =
      .directory
      .html
      .jpeg
      .jpg
      .log
      .nfo
      .png
      .txt

`local/enabled`

  If the local extension should be enabled or not.

`local/library`

  Local library provider to use, change this if you want to use a third party library for local files.

`local/media_dir`

  Path to directory with local media files.

`local/scan_timeout`

  Number of milliseconds before giving up scanning a file and moving on to the next file.

`local/scan_follow_symlinks`

  If we should follow symlinks found in `local/media_dir`

`local/scan_flush_threshold`

  Number of tracks to wait before telling library it should try and store its progress so far. Some libraries might not respect this setting. Set this to zero to disable flushing.

`local/excluded_file_extensions`

  File extensions to exclude when scanning the media directory. Values should be separated by either comma or newline.