mirror of
https://github.com/FoxxMD/multi-scrobbler.git
synced 2026-04-30 04:39:57 +00:00
docs: Add Koito client/source docs
This commit is contained in:
parent
f103563cb7
commit
24ff8f2b0f
3 changed files with 122 additions and 6 deletions
|
|
@ -19,6 +19,7 @@ import IcecastConfig from '!!raw-loader!../../../config/icecast.json.example';
|
|||
import JellyfinConfig from '!!raw-loader!../../../config/jellyfin.json.example';
|
||||
import JriverfinConfig from '!!raw-loader!../../../config/jriver.json.example';
|
||||
import KodiConfig from '!!raw-loader!../../../config/kodi.json.example';
|
||||
import KoitoConfig from '!!raw-loader!../../../config/koito.json.example';
|
||||
import LastfmConfig from '!!raw-loader!../../../config/lastfm.json.example';
|
||||
import LastfmEndpointConfig from '!!raw-loader!../../../config/endpointlfm.json.example';
|
||||
import ListenbrainzConfig from '!!raw-loader!../../../config/listenbrainz.json.example';
|
||||
|
|
@ -876,6 +877,49 @@ Most Listenbrainz clients require a token (Authentication Token) to be provided
|
|||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### [Koito (Source)](https://koito.io/)
|
||||
|
||||
This Source monitors a Koito account's scrobble history and then re-scrobbles discovered tracks to configured clients. To instead _scrobble to_ Koito use the [Koito (Client)](#koito) configuration.
|
||||
|
||||
See the [Koito (Client)](#koito) 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 [Koito Client config](#koito) -- multi-scrobbler assumes Koito ENVs are always used for the **client** configuration. You must use the [File or AIO](./?configType=file#configuration-types) config to setup Koito as a Source.
|
||||
:::
|
||||
</TabItem>
|
||||
<TabItem value="file" label="File">
|
||||
<details>
|
||||
Change `configureAs` to `source`
|
||||
|
||||
<summary>Example</summary>
|
||||
|
||||
<FileExample title="CONFIG_DIR/koito.json" data={KoitoConfig}/>
|
||||
|
||||
</details>
|
||||
|
||||
or <SchemaLink lower objectName="KoitoSourceConfig"/>
|
||||
</TabItem>
|
||||
<TabItem value="aio" label="AIO">
|
||||
<details>
|
||||
Change `configureAs` to `source`
|
||||
|
||||
<summary>Example</summary>
|
||||
|
||||
<AIOExample data={KoitoConfig} name="koito"/>
|
||||
|
||||
</details>
|
||||
|
||||
or <SchemaLink lower objectName="KoitoSourceConfig"/>
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### [Deezer](https://deezer.com/)
|
||||
|
||||
<Tabs groupId="deezerSource" queryString>
|
||||
|
|
@ -2415,7 +2459,7 @@ or replace `localhost:9078` with your own base URL.
|
|||
|
||||
### [Listenbrainz](https://listenbrainz.org)
|
||||
|
||||
You will need to run your own Listenbrainz server, [Koito](https://koito.io) or have an account [on the official instance](https://listenbrainz.org/login/)
|
||||
You will need to run your own Listenbrainz server, [Koito](https://koito.io), or have an account [on the official instance](https://listenbrainz.org/login/)
|
||||
|
||||
On your [profile page](https://listenbrainz.org/profile/) find your **User Token** to use in the configuration.
|
||||
|
||||
|
|
@ -2462,6 +2506,77 @@ Ensure that Koito is configured to allow requests from multi-scrobbler! In Koito
|
|||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### [Koito](https://koito.io/)
|
||||
|
||||
Setup a [Koito server](https://koito.io/guides/installation/) if you have not already done this.
|
||||
|
||||
* [Create (or get) an API Key](https://koito.io/guides/scrobbler/)
|
||||
* From your Koito server dashboard navigate to **Settings** (bottom-left icon) => **API Keys**
|
||||
* Create a new Key (or use an existing) and Copy the key using the copy icon to the right of the key
|
||||
* EX `pM195xPV98CDpk0QW47FIIOR8AKATAX5DblBF-Jq0t1MbbKL`
|
||||
* Take note of your Koito username (used below as `KOITO_USER`)
|
||||
* Determine your Koito URL
|
||||
* This is the URL you use to access your Koito dashboard OR whatever URL is accessible from your multi-scrobbler instance.
|
||||
* EX dashboard at `http://192.168.0.100:4110` => `KOITO_URL` is set to `http://192.168.0.100:4110`
|
||||
|
||||
:::note[Koito Base URL]
|
||||
|
||||
Using the URL path `/apis/listenbrainz` [Koito docs describe](https://koito.io/guides/scrobbler/) **is not required.** The Koito URL used for multi-scrobbler should only be the **base** URL. Only include a URL path if your Koito **base** url is not at `host:port`. See the table below for examples.
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Base URL Examples</summary>
|
||||
| `KOITO_URL` | MS Detected Base URL | Example Scrobble Api URL |
|
||||
| :-------------------------------------------- | :------------------------------ | ---------------------------------------------------- |
|
||||
| `http://192.168.0.100:4110` | `http://192.168.0.100:4110` | `http://192.168.0.100:4110/apis/listenbrainz/1` |
|
||||
| `https://koito.mydomain.com` | `https://koito.mydomain.com` | `https://koito.mydomain.com/apis/listenbrainz/1` |
|
||||
| `http://192.168.0.100:4110/apis/listenbrainz` | `http://192.168.0.100:4110` | `http://192.168.0.100:4110/apis/listenbrainz/1` |
|
||||
| `http://192.168.0.100:80/koito` | `http://192.168.0.100:80/koito` | `http://192.168.0.100:80/koito/apis/listenbrainz/1` |
|
||||
</details>
|
||||
:::
|
||||
|
||||
|
||||
:::tip
|
||||
|
||||
Ensure that Koito is configured to allow requests from multi-scrobbler! In Koito config set [`KOITO_ALLOWED_HOSTS`](https://koito.io/reference/configuration/#koito_allowed_hosts) to the IP the multi-scrobbler dashboard is accessible from.
|
||||
|
||||
:::
|
||||
|
||||
#### Configuration
|
||||
|
||||
<Tabs groupId="configType" queryString>
|
||||
<TabItem value="env" label="ENV">
|
||||
| Environmental Variable | Required? | Default | Description |
|
||||
| :--------------------- | --------- | ------- | --------------------------------- |
|
||||
| KOITO_TOKEN | Yes | | API Key from your Koito Account |
|
||||
| KOITO_USER | Yes | | Your Koito username |
|
||||
| KOITO_URL | No | | The base URL for the Koito server |
|
||||
</TabItem>
|
||||
<TabItem value="file" label="File">
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Example</summary>
|
||||
|
||||
<FileExample title="CONFIG_DIR/koito.json" data={KoitoConfig} client/>
|
||||
|
||||
</details>
|
||||
|
||||
or <SchemaLink client lower objectName="KoitoClientConfig"/>
|
||||
</TabItem>
|
||||
<TabItem value="aio" label="AIO">
|
||||
<details>
|
||||
|
||||
<summary>Example</summary>
|
||||
|
||||
<AIOExample client data={KoitoConfig} name="koito" client/>
|
||||
|
||||
</details>
|
||||
|
||||
or <SchemaLink client lower objectName="KoitoClientConfig"/>
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Now Playing
|
||||
|
||||
Multi-scrobbler can report the currently **playing** tracks it is monitoring to some Scrobble Clients via their individual **Now Playing** functionality. The behavior multi-scrobbler uses for determining Now Playing reporting:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue