At last, an self-hosted Metadata API that supports multiple providers (Spotify, Tidal, MusicBrainz, Deezer)
The Restful API is quite straightforward, still a work in progress but does work
It's using the same database as https://github.com/MusicMoveArr/MiniMediaScanner
So you can already start using the metadata you synchronized in the database
Loving the work I do? buy me a coffee https://buymeacoffee.com/musicmovearr
https://github.com/MusicMoveArr/MusicMover
- MusicBrainz
- Tidal
- Spotify
- Deezer
- Low memory footprint (<250MB)
- Postgres support
- Search Artists Metadata by ProviderType (Any, Tidal, MusicBrainz, Spotify, Deezer)
- Search Albums Metadata by ProviderType (Any, Tidal, MusicBrainz, Spotify, Deezer)
- Search Tracks Metadata by ProviderType (Any, Tidal, MusicBrainz, Spotify, Deezer)
services:
minimediametadataapi:
container_name: MiniMediaMetadataAPI
deploy:
resources:
limits:
memory: 256M
hostname: MiniMediaMetadataAPI
image: musicmovearr/minimediametadataapi:latest
ports:
- target: 8080
published: "56232"
protocol: tcp
restart: unless-stopped
volumes:
- type: bind
source: /DATA/AppData/minimediametadataapi/config/appsettings.json
target: /app/appsettings.json
docker run -d \
--name MiniMediaMetadataAPI \
--hostname MiniMediaMetadataAPI \
--memory 256m \
-p 56232:8080 \
--restart unless-stopped \
-v /DATA/AppData/minimediametadataapi/config/appsettings.json:/app/appsettings.json \
musicmovearr/minimediametadataapi:latest
It's important you bind this file to /app/appsettings.json as above in the docker examples
Change the connectionstring to your own postgres database
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"DatabaseConfiguration":{
"ConnectionString": "Host=192.168.1.1;Username=postgres;Password=postgres;Database=minimedia;Pooling=true;MinPoolSize=5;MaxPoolSize=100;"
},
"Prometheus": {
"MetricsUrl": "/metrics"
}
}