151 lines
5.8 KiB
YAML
151 lines
5.8 KiB
YAML
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
|