Add music.yaml

This commit is contained in:
2026-07-01 19:28:29 -05:00
parent b96f3706dc
commit 444af9e1cf
+150
View File
@@ -0,0 +1,150 @@
networks:
proxy-net:
external: true
services:
##############################
# NAVIDROME - MUSIC SERVER
##############################
navidrome:
image: deluan/navidrome:latest
container_name: navidrome
restart: unless-stopped
user: 1001:1001
ports:
- "4533:4533"
environment:
TZ: America/Chicago
ND_SCANSCHEDULE: 1h
ND_SESSIONTIMEOUT: 24h
ND_AGENTS: "lastfm"
ND_LASTFM_ENABLED: true
ND_LASTFM_APIKEY: ${LASTFM_APIKEY}
ND_LASTFM_SECRET: ${LASTFM_SECRET}
ND_BASEURL: ${NAVIDROME_URL)
ND_MUSICFOLDER: /music
ND_DATAFOLDER: /data
volumes:
- /srv/docker/entertainment/music/navidrome:/data
- /media/music:/music:ro
labels:
- homepage.group=Entertainment
- homepage.name=Navidrome
- homepage.icon=navidrome.png
- homepage.href=${NAVIDROME_URL)
- homepage.description=Local git server
#- homepage.widget.type=navidrome
#- homepage.widget.url=${NAVIDROME_URL}
#- homepage.widget.user=username
#- homepage.widget.token=token #md5(password + salt)
#- homepage.widget.salt=randomsalt
- dockhand.url=${NAVIDROME_URL}
- rackpeek.tags=entertainment
networks:
- proxy-net
##############################
# BONOB - SONOS INTEGRATIONS
##############################
# sonos SMAPI implementation allowing integrating different music sources with sonos. Support for Subsonic API clones (tested against Navidrome and Gonic)
bonob:
image: simojenki/bonob:latest
container_name: bonob
# bonob will not find your sonos devices if you are using bridge network, as they are on a separate network.
# In that case you need to specify the IP address of one of your sonos devices using the BONOB_SONOS_SEED_HOST env var
# network_mode: host
restart: unless-stopped
depends_on:
- navidrome
user: 1001:1001
ports:
- "4534:4534"
environment:
TZ: America/Chicago
BNB_PORT: 4534
BNB_URL: ${BONOB_URL} #S2: This must be the publicly available DNS entry for your bonob instance
BNB_SECRET: ${BONOB_SECRET}
BNB_SONOS_DEVICE_DISCOVERY: "false"
BNB_SONOS_SERVICE_ID: 246
BNB_SUBSONIC_URL: http://navidrome:4533
BNB_SERVER_LOG_REQUESTS: "true"
#BNB_LOG_LEVEL: debug
labels:
rackpeek.tags: service
networks:
- proxy-net
##############################
# EXPLO - MUSIC DISCOVERY
##############################
# explo:
# image: ghcr.io/lumepart/explo:latest
# restart: unless-stopped
# container_name: explo
# volumes:
# - /srv/docker/entertainment/music/explo/.env:/opt/explo/.env
# - /media/music/explo:/data/ # has to be in the same path you have your music system pointed to (it's recommended to put explo under a subfolder)
# - /path/to/slskd/downloads:/slskd/ # if using slskd and MIGRATE_DOWNLOADS is set to true in .env
# - $PLAYLIST_DIR:$PLAYLIST_DIR # for MPD. Both paths should be as defined in .env (e.g /my/playlists/:/my/playlists/)
# - /path/to/cookies.txt:/opt/explo/cookies.txt # Path to optional cookies file (for yt-dlp)
# environment:
# - TZ=$(cat /etc/timezone) # Change this to the timezone set in ListenBrainz (default is UTC)
# - WEEKLY_EXPLORATION_SCHEDULE=15 00 * * 2 # Runs weekly, every Tuesday 15 minutes past midnight
# - WEEKLY_EXPLORATION_FLAGS= # Run weekly exploration with default settings
# Uncomment _SCHEDULE and _FLAGS variables to enable fetching different playlist
#- WEEKLY_JAMS_SCHEDULE=30 00 * * 1 # Runs weekly, every Monday 30 minutes past midnight
#- WEEKLY_JAMS_FLAGS=--playlist=weekly-jams --download-mode=skip # Get tracks from weekly-jams, and only add tracks that are found locally to playlist
#- DAILY_JAMS_SCHEDULE=15 01 * * * # Runs daily, every day 15 minutes past 1PM
#- DAILY_JAMS_FLAGS=--playlist=daily-jams --download-mode=skip # Get tracks from daily-jams, and only add tracks that are found locally to playlist
# Uncomment for testing (runs explo right after launcing the container)
#- EXECUTE_ON_START=false # Whether to run explo when starting the container (useful for testing)
#- START_FLAGS=--persist=false # if needed, set startup flags for testing
##############################
# SOULSOLID - MUSIC ORGANIZER
##############################
#https://github.com/contre95/soulsolid - in development
#soulsolid:
# image: soulsolid:beta
# container_name: soulsolid
# restart: unless-stopped
# ports:
# - "3535:3535"
# volumes:
# - /srv/docker/entertainment/music/soulsolid/config.yaml:/app/config.yaml
# - /srv/docker/entertainment/music/soulsolid/library.db:/app/library.db
# - /srv/docker/entertainment/music/soulsolid/logs:/app/logs
# environment:
# # optional
# - TZ= $(cat /etc/timezone)
# - TELEGRAM_TOKEN=your_telegram_bot_token_here
##############################
# WRTAG - TAGGING
##############################
# wrtag:
# image: sentriz/wrtag
# environment:
# - PUID=1001 # optional user id for wrtag process
# - PGID=1001 # optional group id for wrtag process
# - WRTAG_WEB_API_KEY= # change this
# - WRTAG_WEB_LISTEN_ADDR=:80
# - WRTAG_WEB_PUBLIC_URL=https://wrtag.example.com
# - WRTAG_WEB_DB_PATH=/data/wrtag.db
# - WRTAG_LOG_LEVEL=debug
# # add more config options, like mentioned in "Global configuration" docs
# # - WRTAG_PATH_FORMAT=...
# # - WRTAG_ADDON=...,...
# # - WRTAG_RESEARCH_LINK=...,...
# # or, use the config file if you use wrtag outside the container. make sure to add it to `volumes:` too
# # - WRTAG_CONFIG_PATH=/config
# expose:
# - 80
# volumes:
# - /srv/docker/entertainment/music/wrtag:/data # for the wrtagweb job queue DB
# - /media/music:/music