38 lines
1.5 KiB
YAML
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
|