1
Fork 0
mirror of https://github.com/LumePart/Explo.git synced 2026-06-17 08:52:30 +00:00
Spotify's "Discover Weekly" for self-hosted music systems
  • Go 62%
  • JavaScript 36.4%
  • Shell 0.6%
  • CSS 0.5%
  • Dockerfile 0.3%
  • Other 0.2%
Find a file
Markus Kuuse 0147b7c15c
Merge pull request #188 from LumePart/fixes
Add fallback search to subsonic + fix a few bugs
2026-06-16 23:37:36 +03:00
.github/workflows
docker
licences
src
visual
.dockerignore
.gitignore
docker-compose.yaml
Dockerfile
go.mod
go.sum
LICENSE
NOTICE
README.md
sample.env

Explo - Music Discovery for Self-Hosted Music Systems

Discord

Explo bridges the gap between music discovery and self-hosted music systems. Its main function is to act as a self-hosted alternative to Spotifys Discover Weekly, automating music discovery based on your listening history.

Explo uses the ListenBrainz recommendation engine to retrieve personalized tracks and automatically imports them into your music library.


Features

  • Automatic music discovery powered by ListenBrainz
  • Web UI for setup, scheduling, and playlist import management
  • Fetch personalized playlists from ListenBrainz:
    • Weekly Exploration
    • Weekly Jams
    • Daily Jams
  • Import custom playlists from:
    • Apple Music
    • ListenBrainz
    • Spotify
  • Request tracks from YouTube, Soulseek, or both
  • Add metadata to downloaded tracks
  • Create playlists in your music system
  • Keep previous playlists for later listening

Documentation

See the Wiki Home for an overview of supported systems and next steps.

Or jump directly to:

Acknowledgements

Explo uses the following 3rd-party libraries:

  • ffmpeg-go: Go wrapper for FFmpeg

  • goutubedl: Go wrapper for yt-dlp

  • godotenv: Load configuration from .env files

  • ytmusicapi: Unofficial Youtube Music API

  • notify: Module for sending notifications to different services

  • gocron: Internal cron scheduling

Contributing

Contributions are always welcome! If you have any suggestions, bug reports, or feature requests, please open an issue or submit a pull request (be sure to read the development section of our wiki).

For discussion regarding development or help, join our Discord!