[READ-ONLY] Mirror of https://github.com/FoxxMD/multi-scrobbler. Scrobble plays from multiple sources to multiple clients docs.multi-scrobbler.app
deezer docker jellyfin koito lastfm listenbrainz maloja mopidy mpris music music-assistant plex scrobble self-hosted spotify subsonic tautulli youtube-music
0

Configure Feed

Select the types of activity you want to include in your feed.

docs(azuracast): Add azuracast Source docs

FoxxMD (Mar 11, 2025, 4:41 PM UTC) 3c649df2 ab1766ca

+69 -1
+1
README.md
··· 29 29 * [Musikcube](https://foxxmd.github.io/multi-scrobbler/docs/configuration#muikcube) 30 30 * [MPD (Music Player Daemon)](https://foxxmd.github.io/multi-scrobbler/docs/configuration#mpd-music-player-daemon) 31 31 * [VLC](https://foxxmd.github.io/multi-scrobbler/docs/configuration#vlc) 32 + * [Azuracast](https://foxxmd.github.io/multi-scrobbler/docs/configuration#azuracast) 32 33 * Supports scrobbling to many **Clients** 33 34 * [Maloja](https://foxxmd.github.io/multi-scrobbler/docs/configuration#maloja) 34 35 * [Last.fm](https://foxxmd.github.io/multi-scrobbler/docs/configuration#lastfm)
+3 -1
config/azuracast.json.example
··· 5 5 "name": "azura", 6 6 "data": { 7 7 "url": "ws://192.168.0.101", 8 - "station": "my-station-name" 8 + "station": "my-station-name", 9 + "monitorWhenLive": true, 10 + "monitorWhenListeners": 1 9 11 } 10 12 } 11 13 ]
+62
docsite/docs/configuration/configuration.mdx
··· 10 10 import AIOExample from "../../src/components/AIOExample"; 11 11 12 12 import AIOConfig from '!!raw-loader!../../../config/config.json.example'; 13 + import AzuracastConfig from '!!raw-loader!../../../config/azuracast.json.example'; 13 14 import ChromecastConfig from '!!raw-loader!../../../config/chromecast.json.example'; 14 15 import DeezerConfig from '!!raw-loader!../../../config/chromecast.json.example'; 15 16 import JellyfinConfig from '!!raw-loader!../../../config/jellyfin.json.example'; ··· 1772 1773 } 1773 1774 ] 1774 1775 ``` 1776 + 1777 + ### [Azuracast](https://www.azuracast.com/) 1778 + 1779 + The Azuracast server should have **Use High-Performance Now Playing Updates** enabled in _Administration -> System Settings_ 1780 + 1781 + ##### URL 1782 + 1783 + The URL used by MS to connect to Azuracast has the syntax: 1784 + 1785 + ``` 1786 + [ws|wss]://HOST:[PORT] 1787 + ``` 1788 + 1789 + MS will automatically add the path required for websockets, [`/api/live/nowplaying/websocket`](https://www.azuracast.com/docs/developers/now-playing-data/#websockets), to your URL if none is provided. If you use a reverse proxy with a path-based URL or otherwise need a custom path to access the websockets path correctly then explicitly provide it. Examples: 1790 + 1791 + ``` 1792 + URL From Config => MS Uses 1793 + 1794 + 'ws://192.168.0.101' => ws://192.168.0.101/api/live/nowplaying/websocket 1795 + 'ws://azura.mydomain.com' => ws://azura.mydomain.com.com/api/live/nowplaying/websocket 1796 + 'wss://mydomain.com/custom/azura/ws' => wss://mydomain.com/custom/azura/ws 1797 + ``` 1798 + 1799 + ##### Manual Listening 1800 + 1801 + A user can manually toggle scrobbling for Azuracast as long as the station is online. On the MS Dashboard use the **Manual Listening** link below the Source status to toggle scrobbling. This will override any automatic scrobbling based on current listeners. 1802 + 1803 + #### Configuration 1804 + 1805 + <Tabs groupId="configType" queryString> 1806 + <TabItem value="env" label="ENV"> 1807 + | Environmental Variable | Required? | Default | Description | 1808 + | :--------------------- | :-------- | :------ | ---------------------------------------------------------------------------------------------- | 1809 + | `AZ_URL` | Yes | | Azuracast URL *without station name* | 1810 + | `AZ_STATION` | Yes | | The station name shown on the public page | 1811 + | `AZURA_LIVE` | No | Yes | Only scrobble when station status is ONLINE | 1812 + | `AZURA_LISTENERS_NUM` | No | `true` | Only scrobble if station has any listeners (`true`) or listeners are equal-to/greater-than `X` | 1813 + </TabItem> 1814 + <TabItem value="file" label="File"> 1815 + <details> 1816 + 1817 + <summary>Example</summary> 1818 + 1819 + <CodeBlock title="CONFIG_DIR/azuracast.json" language="json5">{AzuracastConfig}</CodeBlock> 1820 + 1821 + </details> 1822 + 1823 + or <SchemaLink lower objectName="AzuracastSourceConfig"/> 1824 + </TabItem> 1825 + <TabItem value="aio" label="AIO"> 1826 + <details> 1827 + 1828 + <summary>Example</summary> 1829 + 1830 + <AIOExample data={AzuracastConfig} name="azuracast"/> 1831 + 1832 + </details> 1833 + 1834 + or <SchemaLink lower objectName="AzuracastSourceConfig"/> 1835 + </TabItem> 1836 + </Tabs> 1775 1837 1776 1838 ## Client Configurations 1777 1839
+1
docsite/src/pages/index.mdx
··· 30 30 * [Musikcube](docs/configuration#musikcube) 31 31 * [MPD (Music Player Daemon)](docs/configuration#mpd-music-player-daemon) 32 32 * [VLC](docs/configuration#vlc) 33 + * [Azuracast](docs/configuration#azuracast) 33 34 * Supports scrobbling to many **Clients** 34 35 * [Maloja](docs/configuration#maloja) 35 36 * [Last.fm](docs/configuration#lastfm)
+2
src/backend/common/infrastructure/config/source/azuracast.ts
··· 80 80 81 81 /** 82 82 * Only activate scrobble monitoring if station has a live DJ/Streamer 83 + * 84 + * @default true 83 85 */ 84 86 monitorWhenLive?: boolean 85 87