selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitLab

Self-host MusicGrabber

2.9.4

Self-hosted music acquisition with multi-source search

ReleaseOpen Sourceunlicense
Updated2 years ago
Setup difficultyEasy
MobileResponsive
ThemeDark mode
Port
8080 (Web UI)
MusicGrabber screenshot 1MusicGrabber screenshot 2MusicGrabber screenshot 3MusicGrabber screenshot 4MusicGrabber screenshot 5MusicGrabber screenshot 6MusicGrabber screenshot 7MusicGrabber screenshot 8MusicGrabber screenshot 9

What is MusicGrabber?

Music Grabber is a self-hosted music acquisition service designed for users who want to grab individual tracks without managing entire albums or discographies. It searches YouTube, SoundCloud, zvu4no, FreeMp3Cloud, JioSaavn, Monochrome, and optionally Soulseek in parallel. The software supports watched playlists from Spotify, Apple Music, Amazon Music, YouTube, SoundCloud, Tidal, Beatport, Monochrome, and ListenBrainz, plus MusicBrainz artist monitoring for automatic single downloads. Files are stored in user's music library with optional format conversion and metadata enhancement via AcoustID/MusicBrainz lookups.

Should you self-host MusicGrabber?

MusicGrabber scores 58/100 on selfhost.directory (how scoring works) and ranks #9 of 31 in Music.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is easy: most people get it running in one sitting. It is unlicense-licensed.

Its closest alternative on selfhost.directory is Musicseerr (64/100, 1 512 stars). It scores higher overall, so compare the two before you pick. See MusicGrabber vs Musicseerr side by side.

Features

  • AcoustID fingerprinting
  • Audio provenance audit
  • Format Conversion
  • Loudness normalisationbrings lossy web sources to -14 LUFS
  • Lyrics Fetching
  • Multi-source search
  • Playlist routing

How to configure MusicGrabber

  • API_KEYAPI key for authentication

    API key for authentication

  • APPRISE_URLApprise notification URL covering Gotify, ntfy, Discord, Pushover, Slack, and ~50 others

    Apprise notification URL covering Gotify, ntfy, Discord, Pushover, Slack, and ~50 others

  • DB_PATH/data/music_grabber.dbSQLite database path

    SQLite database path

  • JELLYFIN_API_KEYJellyfin API key for library refresh

    Jellyfin API key for library refresh

  • JELLYFIN_URLJellyfin server URL

    Jellyfin server URL

  • LIDARR_API_KEYLidarr API key for duplicate lookups

    Lidarr API key for duplicate lookups

  • LIDARR_URLLidarr server URL

    Lidarr server URL

  • LISTEN_ADDR0.0.0.0Custom bind address

    Custom bind address

  • LISTEN_PORT8080Custom listen port

    Custom listen port

  • MUSIC_DIR/musicMusic library root inside container

    Music library root inside container

  • NAVIDROME_PASSNavidrome password for API

    Navidrome password for API

  • NAVIDROME_URLNavidrome server URL

    Navidrome server URL

  • NAVIDROME_USERNavidrome username for API

    Navidrome username for API

  • NOTIFY_ONplaylists,bulk,errorsNotification triggers: singles, playlists, bulk, errors

    Notification triggers: singles, playlists, bulk, errors

  • PGID1000Override default GID for file ownership

    Override default GID for file ownership

  • PLEX_TOKENPlex authentication token for library refresh

    Plex authentication token for library refresh

  • PLEX_URLPlex server URL

    Plex server URL

  • PUID1000Override default UID for file ownership

    Override default UID for file ownership

  • ROOT_PATHURL prefix when serving behind reverse proxy subpath

    URL prefix when serving behind reverse proxy subpath

  • SLSKD_DOWNLOADS_PATHCompleted-downloads directory as mounted inside MusicGrabber

    Completed-downloads directory as mounted inside MusicGrabber

  • SMTP_FROMFrom email address

    From email address

  • SMTP_HOSTSMTP server hostname

    SMTP server hostname

  • SMTP_PASSSMTP password

    SMTP password

  • SMTP_PORT587SMTP server port

    SMTP server port

  • SMTP_TLStrueUse STARTTLS

    Use STARTTLS

  • SMTP_TORecipient address(es), comma-separated

    Recipient address(es), comma-separated

  • SMTP_USERSMTP username

    SMTP username

  • SOURCE_MONOCHROME_ENABLEDtrueEnable Monochrome search results

    Enable Monochrome search results

  • SOURCE_SOUNDCLOUD_ENABLEDtrueEnable SoundCloud search results

    Enable SoundCloud search results

  • SOURCE_YOUTUBE_ENABLEDtrueEnable YouTube search results

    Enable YouTube search results

  • TELEGRAM_WEBHOOK_URLFull Telegram webhook URL

    Full Telegram webhook URL

  • WATCHED_PLAYLIST_CHECK_HOURS24Maximum time between scheduler sweeps for watched playlists

    Maximum time between scheduler sweeps for watched playlists

More in Music

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…