Explo bridges the gap between music discovery and self-hosted music systems. Its main function is to act as a self-hosted alternative to Spotify’s 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.
- 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
- Request tracks from YouTube, Soulseek, or both
- Add metadata (title, artist, album) to YouTube downloads
- Create playlists in your music system
- Keep previous playlists for later listening
See the Wiki Home for an overview of supported systems and next steps.
Or jump directly to:
- Quick Start – Get Explo running with docker
- Getting Started – Installation and setup guide
- Configuration Parameters – Environment variable and flag reference
- System Notes – Known issues and system-specific tips
- FAQ – Common questions
Explo uses the following 3rd-party libraries:
-
ffmpeg-go: Go wrapper for FFmpeg
-
goutubedl: Go wrapper for yt-dlp
-
godotenv: Load configuration from
.envfiles -
ytmusicapi: Unofficial Youtube Music API
-
notify: Module for sending notifications to different services
-
gocron: Internal cron scheduling
Contributions are always welcome! If you have any suggestions, bug reports, or feature requests, please open an issue or submit a pull request.
For discussion regarding development or help, join our Discord!
