Skip to main content

Koito

Other Uses

To monitor and re-scrobble activity from a Koito account create a Koito (Source)

Setup a Koito server if you have not already done this.

  • Create (or get) an API Key
    • 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
Koito Base URL

Using the URL path /apis/listenbrainz Koito docs describe 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.

Base URL Examples
KOITO_URLMS Detected Base URLExample Scrobble Api URL
http://192.168.0.100:4110http://192.168.0.100:4110http://192.168.0.100:4110/apis/listenbrainz/1
https://koito.mydomain.comhttps://koito.mydomain.comhttps://koito.mydomain.com/apis/listenbrainz/1
http://192.168.0.100:4110/apis/listenbrainzhttp://192.168.0.100:4110http://192.168.0.100:4110/apis/listenbrainz/1
http://192.168.0.100:80/koitohttp://192.168.0.100:80/koitohttp://192.168.0.100:80/koito/apis/listenbrainz/1
tip

For Koito versions <=0.1.7, you must have the environment variable KOITO_ALLOWED_HOSTS set correctly in your Koito environment/container. Ensure it is set to the IP address or domain name that you use to access Koito with e.g. koito.mydomain.com.

Configuration​

Scrobbling Device Data

Many Sources report device identifiers with their listening data which can be included in the scrobble data for this client.

However, Multi-Scrobbler does not include this information in scrobble data because it can contain Personally Identifiable Information (PII).

You can opt-in to including this data by defining an explicit list of identifiers that are matched against real device idenitifiers that are then used instead of the real identifier, when scrobbling.

You define a list of matching strings with optional labels. The most-specific matched-string to a real device identifier gets picked and then it, or it's label, is used as the device identifier in the scrobble data.

Examples and Configuration

In each of the examples configurations below, the resulting behavior for device identifier reporting is...

  • Any device with the string iphone in it will be reported as only iphone
  • A device with the string smithFamily-roku will be reported as familyRoku
  • Any other device with the string roku in it will be reported as roku

Define a comma-delimited list of match:label entries to the env KOITO_ALLOW_DEVICE_LIST


services:
multi-scrobbler:
# ...
environment:
# ...
- KOITO_ALLOW_DEVICE_LIST=iphone,roku,smithFamily-roku:familyRoku
Configuration Type

This is configuration for the ENV Config Type.

Environmental VariableTypeDefaultDescription
KOITO_IDstringA globally unique ID EX myComponentId
KOITO_NAMEstringValue of KOITO_IDA vanity name EX My Cool Component
KOITO_ENABLEbooleantrueShould this component be used?
KOITO_URLstringURL for the Koito server
KOITO_TOKENstringUser token for the user to scrobble for
KOITO_USERstringUsername of the user to scrobble for
KOITO_ALLOW_DEVICE_LISTstringA comma-delimited list of match:label entries to use as media_play in scrobble submit data, when none is present.

Bold/Italic = Required