feat(maloja): Add Maloja Source #295

This commit is contained in:
FoxxMD 2025-08-06 16:48:39 +00:00
parent 976c7c0e82
commit abf532c6bb
8 changed files with 198 additions and 3 deletions

View file

@ -1326,6 +1326,55 @@ Most Listenbrainz clients require a token (Authentication Token) to be provided
</TabItem>
</Tabs>
### [Maloja (Source)](https://github.com/krateng/maloja)
This Source monitors a Maloja server's scrobble history and then re-scrobbles discovered tracks to configured [Clients.](#client-configurations)
:::tip[Other Uses]
To _scrobble to_ a Maloja server, create a [Maloja (Client)](#maloja)
:::
See the [Maloja (Client)](#maloja) configuration for general setup. The only difference for **Source** configuration:
* Cannot be setup with ENV config
* [File/AIO config](./?configType=file#configuration-types) must include `"configureAs": "source"`
#### Configuration
<Tabs groupId="configType" queryString>
<TabItem value="env" label="ENV">
:::note
You cannot use ENV variables shown in the [Maloja Client config](#maloja) -- multi-scrobbler assumes Maloja ENVs are always used for the **client** configuration. You must use the [File or AIO](./?configType=file#configuration-types) config to setup Maloja as a Source.
:::
</TabItem>
<TabItem value="file" label="File">
<details>
Change `configureAs` to `source`
<summary>Example</summary>
<FileExample title="CONFIG_DIR/maloja.json" data={MalojaConfig}/>
</details>
or <SchemaLink lower objectName="MalojaSourceConfig"/>
</TabItem>
<TabItem value="aio" label="AIO">
<details>
Change `configureAs` to `source`
<summary>Example</summary>
<AIOExample data={MalojaConfig} name="maloja"/>
</details>
or <SchemaLink lower objectName="MalojaSourceConfig"/>
</TabItem>
</Tabs>
### [Mopidy](https://mopidy.com/)
Mopidy is a headless music server that supports playing music from many [standard and non-standard sources such as Pandora, Bandcamp, and Tunein.](https://mopidy.com/ext/)
@ -2686,6 +2735,32 @@ On your [profile page](https://listenbrainz.org/profile/) find your **User Token
### [Maloja](https://github.com/krateng/maloja)
Setup a [Maloja server](https://github.com/krateng/maloja?tab=readme-ov-file#how-to-install) if you have not already done this.
<details>
<summary>Maloja Setup Intructions</summary>
Using Maloja's example `docker-compose.yml`:
```yaml reference title="~/malojaData/docker-compose.yml"
https://github.com/krateng/maloja/blob/master/example-compose.yml
```
Uncomment `environment` and add `MALOJA_FORCE_PASSWORD=CHANGE_ME` to set an admin password
Start the container:
```shell title="~/malojaData"
docker compose up -d
```
</details>
* Navigate to the Admin Panel (Cog in upper-right corner) -> API Keys (or at http://myMalojaServerIP/admin_apikeys)
* Create a **New Key** and then copy the generated key value
Finally, add the Maloja server URL and API Key to the configuration type you choose to use, below.
#### Configuration
<Tabs groupId="configType" queryString>