Skip to content

About

Lavalink plugin for Subsonic-compatible music servers

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

LavaSubsonic

A LavaLink plugin to connect to Subsonic-compatible music servers.

Installation

Add the following to your application.yaml. Make sure to replace VERSION with the latest release.

(you can also use builds from individual commits, see Jitpack)

lavalink:
  plugins:
    - dependency: com.github.MCOfficer:LavaSubsonic:VERSION
      repository: https://jitpack.io

Configuration

Use the following in your application.yaml. Default values are only included for posterity, you can safely omit them.

plugins:
  subsonic:
    servers:

      # A Subsonic server. You can define multiple servers and configure them separately.
      - name: MyServer # used as `sourceName` in returned tracks

        # The server base URL, not including `/rest`
        baseUrl: https://my-subsonic.domain.net

        # For authentication, you probably want to create a dedicated user.
        # This also allows you to restrict access to music folders. 
        # Either apiKey OR username&password are required to log in. If present, apiKey takes precedence.
        username: my-lavalink-user
        password: a-strong-password
        apiKey: null # default

        # passed to the stream endpoint, f.e. "mp3" or "opus". See https://opensubsonic.netlify.app/docs/endpoints/stream/
        transcodeFormat: null # default, means unmodified streaming. Make sure all your audio formats are supported by lavalink!

        # passed to the stream endpoint, see https://opensubsonic.netlify.app/docs/endpoints/stream/
        maxBitrate: 0 # default, no restriction

        # Make an extra API call for each track to fetch the artwork uri. Disable if you don't use the artwork URI anyway
        fetchArtworkUri: true # default

        # Prefixes that match identifiers belonging to this Subsonic server.
        # Anything after the prefix is considered a Subsonic ID (or query, in the case of `search`).
        # These are usually URLs (like `https.youtube.com/watch?v=` ), though the defaults are simple prefixes.
        matchPrefixes:
          song: "subsong:" # default
          album: "subalbum:" # default
          artist: "subartist:" # default
          playlist: "subplaylist:" # default
          search: "subsearch:" # default

        # Same structure as `matchPrefixes`, but uses Regular Expressions.
        # These are useful if you have to match IDs in more complex URLs.
        # Patterns MUST have one capture group, which has to capture the subsonic ID.
        #
        # For example, this is part of a configuration for a Navidrome server:
        # matchPatterns:
        #   artist: "^https://my-navidrome.domain.net/app/#/artist/([\\w]+)/show$"
        #
        # Defining matchPatterns will override matchPrefixes of the same name, so in this example,
        # the default prefix for artists ("subartists:") would not be used.
        # 
        # Make sure your patterns only match queries belonging to this server!
        matchPatterns: null # default

About

Lavalink plugin for Subsonic-compatible music servers

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages