Add explo

This commit is contained in:
Fern Garden 2025-07-19 10:24:35 +08:00
parent be45d100de
commit 391fad6375
2 changed files with 102 additions and 0 deletions

View file

@ -15,14 +15,32 @@ services:
- ND_PLAYLISTSPATH=Playlists
networks:
- default
- media
- proxy
restart: unless-stopped
labels:
caddy: music.fern.garden
caddy.import: authentik
explo:
image: ghcr.io/lumepart/explo:latest
restart: unless-stopped
container_name: explo
volumes:
- ./explo.env:/opt/explo/.env
- /media/media/beets/explo:/data/
- /media/downloads/slskd/downloads:/slskd/
networks:
- default
- media
environment:
- TZ=Australia/Perth
- CRON_SCHEDULE=00 07 * * 1 # Runs weekly, every Monday at 07:00
networks:
default:
media:
external: true
proxy:
external: true

84
navidrome/explo.env Normal file
View file

@ -0,0 +1,84 @@
# === Discovery Config ===
# Service which recommends songs (only 'listenbrainz' is supported)
# DISCOVERY_SERVICE=listenbrainz
# Your ListenBrainz username
LISTENBRAINZ_USER=mtqueerie
# 'playlist' to fetch weekly playlist (50 songs), 'api' for fewer songs (good for testing) (default: playlist)
# LISTENBRAINZ_DISCOVERY=playlist
# === Music System Configuration ===
# Music system you use: emby, jellyfin, mpd, plex or subsonic
EXPLO_SYSTEM=subsonic
# Address of your media system (e.g. http://127.0.0.1:4533)
SYSTEM_URL=http://navidrome:4533
# Username with access to system (required for all except mpd)
SYSTEM_USERNAME=fern
# Password for the user (required for subsonic, recommended for plex)
SYSTEM_PASSWORD=${ND_SYSTEM_PASSWORD}
# API Key from your media system (required for emby and jellyfin, optional for plex)
API_KEY=${ND_API_KEY}
# Name of the music library in your system (emby, jellyfin, plex)
# LIBRARY_NAME=
# === Downloader Configuration ===
# Directory to store downloaded tracks. It's recommended to make a separate directory (under the music library) for Explo
# PS! This is only needed when running the binary version, in docker it's set through volume mapping
# DOWNLOAD_DIR=/path/to/musiclibrary/explo/
# Comma-separated list (no spaces) of download services, in priority order (default: youtube)
DOWNLOAD_SERVICES=slskd,youtube
# Directory for writing .m3u playlists (required only for MPD)
# PLAYLIST_DIR=/path/to/playlist/folder/
# === YouTube Configuration ===
# YouTube Data API key (required if using youtube)
YOUTUBE_API_KEY=${YOUTUBE_API_KEY}
# Custom path to ffmpeg binary (default: defined in $PATH)
# FFMPEG_PATH=
# Custom path to yt-dlp binary (default: defined in $PATH)
# YTDLP_PATH=
# Comma-separated (without spaces) keywords to exclude from YouTube results (default: live,remix,instrumental,extended)
# FILTER_LIST=live,remix,instrumental,extended
# === Slskd Configuration ===
# Slskd instance address (requires running instance)
SLSKD_URL=http://slskd:5030
# Slskd API key
SLSKD_API_KEY=${SLSKD_API_KEY}
# Whether to move downloads under the DOWNLOAD_DIR or not (default: false)
# MIGRATE_DOWNLOADS=false
# Directory where slskd downloads tracks (default: /slskd/)
# PS! This is only needed on the binary version, in docker it's set through volume mapping
# SLSKD_DIR=/slskd/
# Number of times to check search status before skipping the track (default: 5)
# SLSKD_RETRY=5
# Number of download attempts for a track (default: 3)
# SLSKD_DL_ATTEMPTS=3
## Slskd Filtering
# Comma-separated (without spaces) file extensions to download from (default: flac,mp3)
# EXTENSIONS=flac,mp3
# Minimal Bit Depth (default: 8)
# MIN_BIT_DEPTH=8
# Minimal Bitrate (default: 256)
# MIN_BITRATE=256
# === Metadata / Formatting ===
# Set to true to merge featured artists into title (recommended), false appends them to artist field (default: true)
# SINGLE_ARTIST=true
# === Misc ===
# Minutes to sleep between library scans (default: 2)
# SLEEP=2
# Keep previous weeks discoveries (set false if folder only holds discovered tracks (deletes every file from folder)) (default: true)
PERSIST=false
# Enable additional debug logs (default: false)
# DEBUG=false