Last.fm scrobbler by slindenau
The Open Music Scrobbler can be used to manually scrobble anything from your Discogs User Collection to Last.fm.
Connect with your Discogs account to browse your (public) collection, and select any album to scrobble. Connect with your Last.fm account to scrobble the selected album(s) and track(s) at a given instant in time. If the track duration is present on Discogs, the scrobbles will be created based on the actual playtime of each track.
This application is currently for desktop or self-hosted only. If you just want to quickly scrobble something you listened to, I suggest also checking out the following projects:
- https://openscrobbler.com
- https://vinylscrobbler.com
- https://codescrobble.com
- https://universalscrobbler.com
- Web GUI Prototype
- 1.0 Release
- Scheduling/offline scrobble with database
- Barcode/Cover scanner for quick scrobble
- Java 17
- Maven 3 (optional; for building the application from sources only)
- Docker (optional; alternative for building + running the application)
- Discogs collection (public or authenticate with Personal Access Token)
- Last.fm account
- Last.fm api key
- On the Releases tab in GitHub the packaged builds can be downloaded.
- Skip the 'Building' section if you're using the released build
- Skip the 'Downloading' and 'Building' sections if you're using Docker
- Dependencies
- discogs4j: (fork of) https://github.com/ajdons/discogs4j
git clone git@github.com:s-lindenau/discogs4j.git
mvn clean install
- discogs4j: (fork of) https://github.com/ajdons/discogs4j
- Building
git clone git@github.com:s-lindenau/OpenMusicScrobbler.git
mvn clean package
- Supply api keys
- If desired the Last.fm api keys can be added to the final build by setting the following options on the
mvn package
command:-Dlastfm.api.key=mykey
-Dlastfm.api.secret=mysecret
- If desired the Last.fm api keys can be added to the final build by setting the following options on the
- From the packaged build take the following:
- ~/target/open-music-scrobbler-version.jar
- ~/target/dependencies folder
- ~/target/config.properties
- Release zip
- All the relevant files listed above are also zipped for convenient distribution
- See ~/target/release folder
- Configure the required properties
- Run with
java -jar
open-music-scrobbler-version.jar application - Possible options for application are
server
run as a server for the web based client
- With the
Dockerfile
you can both build the JARs from sources and then run the application, without the need for Java or Maven on your local machine - Building the image:
- Directly from the remote repository:
docker build https://github.com/s-lindenau/OpenMusicScrobbler.git
- Or you can first check out the sources locally:
git clone git@github.com:s-lindenau/OpenMusicScrobbler.git
docker build .
- Note that you may add any tag for this image as desired with
-t tagName
- Directly from the remote repository:
- Running a container from the image:
- Find the ID of your image, or use the
tagName
to identify the image created with the build command - Create and run a new container as the
server
application with:docker run imageID
- The server for the web based client is best started in detached mode. Add
-d
to therun
command - Bind ports to access the web application: add
-p 8080:8080 8081:8081
to therun
command - Optional: recommended to mount an external configuration file to persist settings outside the docker container
- add to the
run
command:-v C:\my\config.properties:/oms/config.properties
- create empty
config.properties
file and replaceC:\my\config.properties
in the-v
argument with the location of this file
- add to the
- Note that you may add any name for this container as desired with
--name containerName
- Find the ID of your image, or use the
- The
server
web based application can be accessed with any modern browser. After starting the application, browse to http://localhost:8080 to access the main menu. Follow the links on screen to select and scrobble tracks.