From 444af9e1cf6e026564913b4bdc151c6d99be7152 Mon Sep 17 00:00:00 2001 From: pixelthorn Date: Wed, 1 Jul 2026 19:28:29 -0500 Subject: [PATCH] Add music.yaml --- music.yaml | 150 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) create mode 100644 music.yaml diff --git a/music.yaml b/music.yaml new file mode 100644 index 0000000..bbf1dbf --- /dev/null +++ b/music.yaml @@ -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