multi-scrobbler/docsite/docs/installation/installation.md

5.1 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.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"

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

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.