Skip to main content

Ampache Plugins

Ampache Plugins

Ampache ships with a number of plugins that add optional features: homepage sections, external metadata and lyrics lookups, scrobbling, avatars, share buttons, analytics and more.

Plugins are split into categories based on the action they perform. The category also decides where in the interface the plugin appears.

  • home — sections on the main page
  • metadata — art and tag lookups
  • lyrics — external lyrics lookups
  • stats — analytics/tracking
  • scrobbling — react to playback, rating and flagging
  • save_rating — react to rating changes
  • avatar — user avatars from an external source
  • share — share buttons for external sites
  • shortener — URL shorteners for shared links
  • slideshow — external photos for slideshows
  • stream_control — per-user streaming limits
  • wanted — act on the wanted list
  • geolocation — show a user's location
  • preview — find a short sample for a wanted track
  • user — content on the user page

Managing plugins and modules

Most plugins are installed and configured from Admin → Modules → Plugins in the web interface. Installing a plugin makes its preferences appear; each user then enables and configures it from their own preferences.

image

The same modules can be managed headlessly from the command line:

php bin/cli admin:listModules
php bin/cli admin:installPlugin lastfm
php bin/cli admin:uninstallPlugin lastfm
php bin/cli admin:upgradePlugin lastfm

Ampache has two other kinds of module that are managed the same way — catalog types (the backends a catalog can use, such as subsonic or beets) and localplay controllers (external players such as mpd):

php bin/cli admin:installCatalogType subsonic
php bin/cli admin:installLocalplay mpd

The version numbers below are the bundled versions in this release; admin:listModules shows which are installed and whether an upgrade is available.

Once installed, most plugins add options you configure in your preferences — see Plugin Options for what each one means.

Homepage Plugins

Show something on the main page/index using the display_home method.

Catalog Favorites

Description: Catalog favorites on homepage (shows the songs you heart with album art).

Version: 000004

image

Friends Timeline

Description: Friend's Timeline on homepage.

Version: 000002

image

Home Dashboard

Description: Show album dashboard sections (such as recent and trending) on the homepage.

Version: 000002

image

Personal Favorites

Description: Personal favorites on homepage.

Version: 000003

image

RSSView

Description: Fetch recent items from any RSS feed and display them on the homepage.

Version: 000002

image

Shout Home

Description: Shoutbox on homepage.

Version: 000002

image

Metadata Plugins

Query for things like art or tag information missing from the file.

Amazon

Description: Amazon art search.

Version: 000001

Discogs

Description: Discogs metadata integration.

Version: 000001

MusicBrainz

Description: MusicBrainz metadata integration.

Version: 000003

TheAudioDb

Description: TheAudioDb metadata integration.

Version: 000003

Lyric Plugins

Search for external lyrics using the get_lyrics method.

ChartLyrics

Description: Get lyrics from ChartLyrics.

Version: 000001

LrcLib

Description: Get lyrics from an LrcLib compatible server.

Version: 000001

Lyrist Lyrics

Description: Get lyrics from a public Lyrist instance.

Version: 000002

Sonic Analysis Plugins

Find songs that sound alike using the get_sonic_similar_songs method.

These plugins work out similarity by analysing the audio itself, which Ampache does not do on its own.

They back the OpenSubsonic sonicSimilarity extension, so getSonicSimilarTracks and findSonicPath only work while one is installed and enabled.

AudioMuse

Description: Sonic similarity from an AudioMuse-AI server.

Version: 000001

You need a running AudioMuse-AI instance that has already analysed your library.

Set AudioMuse-AI server URL to its address, for example http://localhost:8000.

Statistic Plugins

Analytics plugins insert their tracking information using the display_on_footer method.

GoogleAnalytics

Description: Google Analytics statistics.

Version: 000001

Matomo

Description: Matomo statistics.

Version: 000001

Piwik

Description: Piwik statistics.

Version: 000001

Scrobble Plugins

Perform an action based on the playback of a media item.

Last.FM

Description: Scrobble songs you play to your Last.FM account.

Version: 000005

Libre.FM

Description: Scrobble songs you play to your Libre.FM account.

Version: 000003

ListenBrainz

Description: Scrobble songs you play to your ListenBrainz account.

Version: 000002

Rating Plugins

React when you rate a media item.

RatingMatch

Description: Raise the album and artist rating to match the highest song rating.

Version: 000004

Avatar Plugins

Fetch a user avatar from an external source using get_avatar_url.

Gravatar

Description: User's avatars from Gravatar.

Version: 000001

Libravatar

Description: Users' avatars with Libravatar.

Version: 000001

Share Plugins

Open an external site for sharing a file using external_share.

Bluesky

Description: Bluesky share.

Version: 000001

image

Facebook

Description: Facebook share.

Version: 000001

image

Mastodon

Description: Mastodon share.

Version: 000001

image

Twitter

Description: Twitter share.

Version: 000001

image

Shortener Plugins

Shorten a shared link with an external URL shortening site.

Bit.ly

Description: URL shorteners on shared links with Bit.ly.

Version: 000003

YOURLS

Description: URL shorteners on shared links with YOURLS.

Version: 000002

Slideshow Plugins

Get external photos to use in a slideshow.

Flickr

Description: Artist photos from Flickr.

Version: 000001

Stream Control Plugins

Manage limits for user streaming based on time, hits and bandwidth.

Stream Bandwidth

Description: Control bandwidth per user.

Version: 000001

Stream Hits

Description: Control hits per user.

Version: 000001

Stream Time

Description: Control time per user.

Version: 000001

Wanted Plugins

Act on the wanted list using the process_wanted method.

Headphones

Description: Automatically download accepted Wanted List albums with Headphones.

Version: 000001

Geolocation Plugins

Get and show a user's location.

GoogleMaps

Description: Show a user's location with Google Maps.

Version: 000001

Song Preview Plugins

Find a short sample for a track on the wanted list.

The sample is played from the provider's own url, so nothing is proxied through Ampache and neither plugin needs an api key, an account or any preferences. Install one (or both) and previews work.

Neither provider indexes MusicBrainz ids, so a track is matched on artist and title text. A result that isn't close enough to what was asked for is dropped, so a search that finds nothing similar gives no preview rather than the wrong song.

iTunes

Description: Song preview from the iTunes Search API.

Version: 000001

Deezer

Description: Song preview from Deezer.

Version: 000001

User Plugins

Add something to the individual user page using the display_user_field method.

Paypal

Description: PayPal donation button on user page.

Version: 000001

image