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 thePORTenvironmental 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)
docker.io/foxxmd/multi-scrobbler:latest
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.
- Using
-vmethod for docker:-v /path/on/host/config:/config - Using docker-compose:
- /path/on/host/config:/config
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
- (Optionally) set the timezone for the container using the environmental variable
TZ(docker) (docker-compose)
Linux Host
If you are
- using rootless containers with Podman
- running docker on MacOS or Windows
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 UIDid -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.