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.name: bonob 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