multi-scrobbler/docsite/docs/installation/installation.md
FoxxMD 6dc40e50ad feat: Implement Base URL
* Allows users to define a base URL to be used for default redirect URI generation
  * Convenience mostly for docker users so they do not have to explicitly define redirect uri for each source/client
* Use in UI start up logging hints
2023-09-14 12:38:20 -04:00

5.8 KiB

sidebar_position title
1 Overview

Installation

Local

After installation see service.md to configure multi-scrobbler to run automatically in the background.

Nodejs

Clone this repository somewhere and then install from the working directory

git clone https://github.com/FoxxMD/multi-scrobbler.git .
cd multi-scrobbler
nvm use # optional, to set correct Node version
npm install
npm run build
npm run start

Usage Examples

  • The web UI and API is served on port 9078. This can be modified using the PORT environmental variable.

Using file-based configuration

npm run start

Using env-based configuration

SPOTIFY_CLIENT_ID=yourId SPOTIFY_CLIENT_SECRET=yourSecret MALOJA_URL="http://domain.tld" node src/index.js

Flatpak

You must have Flatpak installed on your system.

flatpak install flathub io.github.foxxmd.multiscrobbler

Usage Examples

Using file-based configuration

The config directory for multi-scrobbler as a flatpak can be found under /home/YourUser/.var/app/io.github.foxxmd.multiscrobbler/config

flatpak run io.github.foxxmd.multiscrobbler

Using env-based configuration

There are a few options for running flatpak applications with temporary or permanent environmental variables.

flatpak run --env=SPOTIFY_CLIENT_ID=yourId --envSPOTIFY_CLIENT_SECRET=yourSecret --env=MALOJA_URL="http://domain.tld" io.github.foxxmd.multiscrobbler

Docker

Cross-platform images are built for x86 (Intel/AMD) and ARM64 (IE Raspberry Pi)

Dockerhub

docker.io/foxxmd/multi-scrobbler:latest

Github Packages

ghcr.io/foxxmd/multi-scrobbler:latest

Or use the provided docker-compose.yml after modifying it to fit your configuration.

Recommended configuration steps for docker or docker-compose usage:

Storage

You must bind a host directory into the container for storing configurations and credentials. Otherwise, these will be lost when the container is updated.

Networking

If you are using a bridge network (default docker setup) you must map a port to the container in order to access the dashboard and use MS with some sources (Plex, Jellyfin).

The default container port is 9078. To map container to host port:

  • With docker: -p 9078:9078 (first port is the port on the host to use)
  • With docker-compose: - "9078:9078"
Base URL

Optionally, when

  • using a Source or Client that has a "Redirect URI" that you have not explicitly defined
  • and
    • using a bridge network or
    • installing MS on a different machine than the one used to view the dashboard

set the Base URL as the IP of the host machine. (This is the IP you would use to view the dashboard in a browser)

Other

Linux Host

If you are

this DOES NOT apply to you.

If you are running Docker on a Linux Host you must specify user:group permissions of the user who owns the configuration directory on the host to avoid docker file permission problems. These can be specified using the environmental variables PUID and PGID.

To get the UID and GID for the current user run these commands from a terminal:

  • id -u -- prints UID
  • id -g -- prints GID

Docker Usage Examples

If installing on a different machine make sure all redirect URIs are defined or that you have set a Base URL.

Using env-based configuration

docker run -e "SPOTIFY_CLIENT_ID=yourId" -e "SPOTIFY_CLIENT_SECRET=yourSecret" -e "MALOJA_URL=http://domain.tld" -e "MALOJA_API_KEY=1234" -e "PUID=1000" -e "PGID=1000" -p 9078:9078 -v /path/on/host/config:/config foxxmd/multi-scrobbler

Using file-based configuration

docker run -e "PUID=1000" -e "PGID=1000" -p 9078:9078 -v /path/on/host/config:/config foxxmd/multi-scrobbler

See the docker-compose.yml file for how to use with docker-compose.