1
Fork 0
mirror of https://github.com/LumePart/Explo.git synced 2026-06-03 10:30:25 +00:00
Spotify's "Discover Weekly" for self-hosted music systems
  • Go 65.5%
  • JavaScript 32.7%
  • Shell 0.6%
  • CSS 0.6%
  • Dockerfile 0.3%
  • Other 0.3%
Find a file
Markus Kuuse d49505ec90
Merge pull request #155 from dammitjeff/custom-playlists
feat: import custom playlists from Listenbrainz/Apple Music
2026-06-02 22:48:34 +03:00
.github/workflows add workaround for binary build 2026-05-12 16:25:28 +03:00
docker Change variable naming for more clarity 2026-05-11 20:36:44 +03:00
licences added Apache License 2.0 2024-12-02 19:38:33 +02:00
src Merge upstream dev, fix conflicts 2026-05-30 19:20:56 -07:00
visual add img directory 2026-05-12 15:53:33 +03:00
.dockerignore Migrate WebUI to React/Vite 2026-04-24 22:48:52 -07:00
.gitignore merge with dev, fix conflicts 2026-05-23 17:03:01 -07:00
docker-compose.yaml enable webui in docker 2026-05-09 19:35:33 +03:00
Dockerfile add Updatenotifications.jsx, polls github releases api and compares to localstate every 12 hours and on bootup. version injected at build time through vite 2026-05-17 21:53:17 -07:00
go.mod Add apple music support, apple_music..go that pulls data from html get 2026-05-14 17:58:22 -07:00
go.sum Add base for internal cron management 2026-05-11 20:43:48 +03:00
LICENSE Create LICENSE 2023-11-10 12:50:42 +02:00
NOTICE reference to ytmusicapi 2025-10-26 15:22:18 +02:00
README.md add only dashbboard visual 2026-05-12 15:58:40 +03:00
sample.env Merge branch 'LumePart:dev' into feat/metadata 2026-05-25 16:26:44 -03:00

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
  • 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

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.

For discussion regarding development or help, join our Discord!