feat: add static file server for direct MP3 links
- Add nginx service to serve music files at music.media.pivoine.art - Enables direct MP3 file URLs for website embedding - Serves files from /mnt/hidrive/users/valknar/Music read-only
This commit is contained in:
@@ -62,6 +62,32 @@ services:
|
||||
- 'traefik.docker.network=${NETWORK_NAME}'
|
||||
- 'com.centurylinklabs.watchtower.enable=${WATCHTOWER_LABEL_ENABLE}'
|
||||
|
||||
# Music Files - Static file server for direct MP3 links
|
||||
music_files:
|
||||
image: nginx:alpine
|
||||
container_name: ${MEDIA_COMPOSE_PROJECT_NAME}_music_files
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /mnt/hidrive/users/valknar/Music:/usr/share/nginx/html:ro
|
||||
networks:
|
||||
- compose_network
|
||||
labels:
|
||||
- 'traefik.enable=${MEDIA_TRAEFIK_ENABLED}'
|
||||
# HTTP to HTTPS redirect
|
||||
- 'traefik.http.middlewares.${MEDIA_COMPOSE_PROJECT_NAME}-music-redirect-web-secure.redirectscheme.scheme=https'
|
||||
- 'traefik.http.routers.${MEDIA_COMPOSE_PROJECT_NAME}-music-web.middlewares=${MEDIA_COMPOSE_PROJECT_NAME}-music-redirect-web-secure'
|
||||
- 'traefik.http.routers.${MEDIA_COMPOSE_PROJECT_NAME}-music-web.rule=Host(`${MEDIA_MUSIC_FILES_TRAEFIK_HOST}`)'
|
||||
- 'traefik.http.routers.${MEDIA_COMPOSE_PROJECT_NAME}-music-web.entrypoints=web'
|
||||
# HTTPS router
|
||||
- 'traefik.http.routers.${MEDIA_COMPOSE_PROJECT_NAME}-music-web-secure.rule=Host(`${MEDIA_MUSIC_FILES_TRAEFIK_HOST}`)'
|
||||
- 'traefik.http.routers.${MEDIA_COMPOSE_PROJECT_NAME}-music-web-secure.tls.certresolver=resolver'
|
||||
- 'traefik.http.routers.${MEDIA_COMPOSE_PROJECT_NAME}-music-web-secure.entrypoints=web-secure'
|
||||
# Service
|
||||
- 'traefik.http.services.${MEDIA_COMPOSE_PROJECT_NAME}-music-web-secure.loadbalancer.server.port=80'
|
||||
- 'traefik.docker.network=${NETWORK_NAME}'
|
||||
# Watchtower
|
||||
- 'com.centurylinklabs.watchtower.enable=${WATCHTOWER_LABEL_ENABLE}'
|
||||
|
||||
# Navidrome - Music streaming server with public sharing
|
||||
navidrome:
|
||||
image: ${MEDIA_NAVIDROME_IMAGE:-deluan/navidrome:latest}
|
||||
|
||||
Reference in New Issue
Block a user