feat: remove Navidrome, use Jellyfin for all media

- Remove Navidrome service from media stack
- Remove Navidrome configuration from arty.yml
- Remove media/scan command (Navidrome-specific)
- Jellyfin now handles all media: images, videos, and music
This commit is contained in:
2025-11-15 09:43:00 +01:00
parent f9d716c80a
commit f25856a44b
2 changed files with 0 additions and 43 deletions

View File

@@ -155,8 +155,6 @@ envs:
MEDIA_FILESTASH_IMAGE: machines/filestash:latest
MEDIA_FILESTASH_TRAEFIK_HOST: filestash.media.pivoine.art
MEDIA_FILESTASH_CANARY: true
MEDIA_NAVIDROME_IMAGE: deluan/navidrome:latest
MEDIA_NAVIDROME_TRAEFIK_HOST: navidrome.media.pivoine.art
# PairDrop
DROP_TRAEFIK_ENABLED: true
DROP_COMPOSE_PROJECT_NAME: drop
@@ -318,4 +316,3 @@ scripts:
net/create: docker network create "$NETWORK_NAME"
awsm/import: |
docker cp "/tmp/awesome-database" "awesome_app:/home/node/.awesome"
media/scan: docker compose restart navidrome

View File

@@ -63,44 +63,6 @@ services:
- 'traefik.docker.network=${NETWORK_NAME}'
- 'com.centurylinklabs.watchtower.enable=${WATCHTOWER_LABEL_ENABLE}'
# Navidrome - Music streaming server with public sharing
navidrome:
image: ${MEDIA_NAVIDROME_IMAGE:-deluan/navidrome:latest}
container_name: ${MEDIA_COMPOSE_PROJECT_NAME}_navidrome
restart: unless-stopped
volumes:
- navidrome_data:/data
- /mnt/hidrive/users/valknar/Music:/music:ro
environment:
TZ: ${TIMEZONE:-Europe/Berlin}
ND_SCANSCHEDULE: 1h
ND_LOGLEVEL: info
ND_SESSIONTIMEOUT: 24h
ND_BASEURL: ""
ND_ENABLESHARING: "true"
ND_ENABLEDOWNLOADS: "true"
ND_DEFAULTDOWNLOADABLESHARE: "true"
networks:
- compose_network
labels:
- 'traefik.enable=${MEDIA_TRAEFIK_ENABLED}'
# HTTP to HTTPS redirect
- 'traefik.http.middlewares.${MEDIA_COMPOSE_PROJECT_NAME}-navidrome-redirect-web-secure.redirectscheme.scheme=https'
- 'traefik.http.routers.${MEDIA_COMPOSE_PROJECT_NAME}-navidrome-web.middlewares=${MEDIA_COMPOSE_PROJECT_NAME}-navidrome-redirect-web-secure'
- 'traefik.http.routers.${MEDIA_COMPOSE_PROJECT_NAME}-navidrome-web.rule=Host(`${MEDIA_NAVIDROME_TRAEFIK_HOST}`)'
- 'traefik.http.routers.${MEDIA_COMPOSE_PROJECT_NAME}-navidrome-web.entrypoints=web'
# HTTPS router
- 'traefik.http.routers.${MEDIA_COMPOSE_PROJECT_NAME}-navidrome-web-secure.rule=Host(`${MEDIA_NAVIDROME_TRAEFIK_HOST}`)'
- 'traefik.http.routers.${MEDIA_COMPOSE_PROJECT_NAME}-navidrome-web-secure.tls.certresolver=resolver'
- 'traefik.http.routers.${MEDIA_COMPOSE_PROJECT_NAME}-navidrome-web-secure.entrypoints=web-secure'
- 'traefik.http.middlewares.${MEDIA_COMPOSE_PROJECT_NAME}-navidrome-web-secure-compress.compress=true'
- 'traefik.http.routers.${MEDIA_COMPOSE_PROJECT_NAME}-navidrome-web-secure.middlewares=${MEDIA_COMPOSE_PROJECT_NAME}-navidrome-web-secure-compress,security-headers@file'
# Service
- 'traefik.http.services.${MEDIA_COMPOSE_PROJECT_NAME}-navidrome-web-secure.loadbalancer.server.port=4533'
- 'traefik.docker.network=${NETWORK_NAME}'
# Watchtower
- 'com.centurylinklabs.watchtower.enable=${WATCHTOWER_LABEL_ENABLE}'
volumes:
jellyfin_config:
name: ${MEDIA_COMPOSE_PROJECT_NAME}_jellyfin_config
@@ -108,8 +70,6 @@ volumes:
name: ${MEDIA_COMPOSE_PROJECT_NAME}_jellyfin_cache
filestash_data:
name: ${MEDIA_COMPOSE_PROJECT_NAME}_filestash_data
navidrome_data:
name: ${MEDIA_COMPOSE_PROJECT_NAME}_navidrome_data
networks:
compose_network: