Files
mindboost-media-server/docker-compose.yml

38 lines
1.5 KiB
YAML

version: "3.9"
services:
media:
image: nginx:1.27-alpine
restart: unless-stopped
container_name: mindboost-media-server
volumes:
- ./nginx/html:/usr/share/nginx/html:ro
- ./nginx/conf.d:/etc/nginx/conf.d
labels:
- "traefik.enable=true"
#########################################################
# 1) ROUTER ➜ /media/… (Prefix + Strip)
#########################################################
- "traefik.http.routers.media-prefix.rule=Host(`b.mindboost.team`) && PathPrefix(`/media`)"
- "traefik.http.routers.media-prefix.entrypoints=websecure"
- "traefik.http.routers.media-prefix.tls.certresolver=http_resolver"
- "traefik.http.routers.media-prefix.middlewares=strip-media"
- "traefik.http.middlewares.strip-media.stripPrefix.prefixes=/media"
- "traefik.http.routers.media-prefix.service=media"
#########################################################
# 2) ROUTER ➜ /noise.wav /forest.flac … (Root-Pfad)
#########################################################
- "traefik.http.routers.media-root.rule=Host(`b.mindboost.team`) && Path(`/{file:.*\\.(mp3|aac|m4a|ogg|opus|flac|wav)$}`)"
- "traefik.http.routers.media-root.entrypoints=websecure"
- "traefik.http.routers.media-root.tls.certresolver=http_resolver"
- "traefik.http.routers.media-root.service=media"
# Upstream-Port des Containers
- "traefik.http.services.media.loadbalancer.server.port=80"
networks:
- proxy
networks:
proxy:
external: true