-
Notifications
You must be signed in to change notification settings - Fork 9
3. Configuration Parameters
Markus Kuuse edited this page Jun 26, 2025
·
16 revisions
Explo is configured using a .env file located in the project root. This file defines all environment variables used to control download preferences, music system authentication, and metadata handling.
| Variable | Description | Default |
|---|---|---|
DISCOVERY_SERVICE |
Service which recommends songs (only ListenBrainz supported) | listenbrainz |
LISTENBRAINZ_USER |
Your ListenBrainz username | (required) |
LISTENBRAINZ_DISCOVERY |
Source where Explo takes recommendations (playlist, api) |
playlist |
NOTES:
- Using
apiin LISTENBRAINZ_DISCOVERY is recommended when testing/debugging the system, it offers fewer (25) songs thanplaylist(50 songs) and the recommendations don't update often
| Variable | Description | Required For |
|---|---|---|
EXPLO_SYSTEM |
System you use (emby, jellyfin, mpd, plex, subsonic) |
All |
SYSTEM_URL |
Base URL of media server (e.g http://127.0.0.1:4533) | All except MPD |
LIBRARY_NAME |
Name of the music library to use | Emby, Jellyfin, Plex |
SYSTEM_USERNAME |
Username for system authentication | All except MPD |
SYSTEM_PASSWORD |
Password for system authentication | Subsonic (required), Plex (preferred) |
API_KEY |
API token for systems that support it | Jellyfin, Emby (required), Plex (optional) |
PLAYLIST_DIR |
Filesystem path where .m3u playlists should be written |
MPD |
| Variable | Description | Default |
|---|---|---|
DOWNLOAD_DIR |
Folder where tracks are stored (when using docker, set the dir as /data/) |
(required when using binary version) |
DOWNLOAD_SERVICES |
A comma-separated list (no spaces) of services to use for downloading tracks, in priority order (e.g slskd,youtube) |
youtube |
NOTES:
-
DOWNLOAD_SERVICES: Services are prioritized based on their order in the list. Explo attempts to download tracks using the first service; if some tracks can't be downloaded, it tries downloading them using the next service, and so on until all tracks are downloaded or all options are exhausted. -
DOWNLOAD_SERVICES: When using slskd as the first service, it’s recommended to list youtube as a fallback for better reliability.
| Variable | Description | Default |
|---|---|---|
YOUTUBE_API_KEY |
YouTube Data API key | (required) |
FFMPEG_PATH |
Custom ffmpeg binary path | $PATH |
YTDLP_PATH |
Custom yt-dlp binary path | $PATH |
FILTER_LIST |
Comma-separated blacklist keywords (without spaces) | live,remix,instrumental,extended |
| Variable | Description | Default |
|---|---|---|
SLSKD_URL |
Base URL of SLSKD instance | (required) |
SLSKD_API_KEY |
API key from SLSKD | (required) |
EXTENSIONS |
A comma-separated list (no spaces) of filename extensions to use for filtering tracks, in priority order | flac,mp3 |
MIN_BIT_DEPTH |
Minimum bit depth for a track | 8 |
MIN_BITRATE |
Minimum bitrate for a track | 256 |
SLSKD_DL_ATTEMPTS |
Number of download attempts for a track | 3 |
SLSKD_RETRY |
Number of times to check search status before skipping the track | 5 |
SLSKD_DIR (For MPD) |
Directory where Slskd downloads tracks | required only when using MPD |
NOTES:
- A SLSKD API key can be generated using the official documentation
| Variable | Description | Default |
|---|---|---|
SINGLE_ARTIST |
Merge featured artists into title instead of the artist field | true |
| Variable | Description | Default |
|---|---|---|
SLEEP |
How long to sleep (in minutes) between scanning and querying tracks from your music system | 2 |
PERSIST |
Whether to keep previous weeks discoveries, set to false if the parent folder only contains discovered songs (deletes every file in folder) |
true |
DEBUG |
Whether to provide additional info for debugging | false |