Simple self-hosted music scrobble database to create personal listening statistics. You will always be able to access your data in an easily-parseable format. Your library is not synced with any public or official music database, so you can follow your own tagging schema. Some artists often collaborate with others or are listed under "featuring" in the track title. Instead of tracking each combination of artists, each individual artist competes in your charts. Don't rely on the community to select the best pictures for your favorite artists. Upload your own so that your start page looks like you want it to look. No need to fully commit or set up every client twice - you can configure your Maloja server to forward your scrobbles to other services.
Use existing, mature apps or extensions to scrobble to your Maloja server. Manual scrobbling is possible, also.
Protip: If your MP3s don't have ID3 metadata, you won't see what you expect to see.
Django app implementing the server-side Audioscrobbler protocol - jlieth/django-scrobble-server
MusicBrainz open sourced their scrobbling server. Implements the last.fm scrobbling API. Uses Google BigQuery to calculate statistics on a schedule. I don't see why you couldn't stand it up without Docker. Written in Python. Requires Postgres.
Appears to be a personal scrobbler server written in Python. Seems to require Postgres as its database. Implements the Audioscrobbler API.
A self-hosted scrobbling server. Written in Python3. Split into a back-end and a front-end. Requires Postgres, Redis, and Nginx to proxy.