Files
home-server-docker/project/media/navidrome/navidrome.yml

32 lines
1.2 KiB
YAML

services:
navidrome:
extends:
file: ${TEMPLATES_PATH}
service: default
image: deluan/navidrome
container_name: navidrome
ports:
- 2011:4533
networks:
- ip4net
volumes:
- ${MEDIA_PATH}/navidrome/data:/data
- ${EXTERNAL_STORAGE}/media/music:/music:ro
environment:
ND_REVERSEPROXYWHITELIST: 0.0.0.0/0
ND_ENABLEUSEREDITING: false
labels:
# Watchtower
- "com.centurylinklabs.watchtower.enable=true"
# Traefik
- "traefik.enable=true"
- "traefik.http.routers.navidrome.rule=Host(`navidrome.${PUBLIC_DOMAIN}`)"
- "traefik.http.routers.navidrome.entrypoints=https"
- 'traefik.http.routers.navidrome.tls=true'
# Middlewares
- "traefik.http.routers.navidrome.middlewares=crowdsec-bouncer@file, authelia@file"
# Subsonic endpoint use basic authentication middleware from authelia
- "traefik.http.routers.navidrome-subsonic.rule=Host(`navidrome.${PUBLIC_DOMAIN}`) && PathPrefix(`/rest/`) && !Query(`c`, `NavidromeUI`)"
- "traefik.http.routers.navidrome-subsonic.entrypoints=https"
- "traefik.http.routers.navidrome-subsonic.middlewares=crowdsec-bouncer@file, authelia-basicauth@file, subsonic-basicauth@file"