32 lines
1.2 KiB
YAML
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"
|