From 48b37a218c97e3fd3df96454047f6590c572d10e Mon Sep 17 00:00:00 2001 From: Netshade Date: Sat, 31 Aug 2024 22:03:11 +0200 Subject: [PATCH] Initial commit, adding media-stack for swarm. --- compose/media/docker-compose.yml | 8 +++- compose/traefik/docker-compose.yml | 8 ++++ swarm/media/compose.yml | 77 ++++++++++++++++++++++++++++++ 3 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 swarm/media/compose.yml diff --git a/compose/media/docker-compose.yml b/compose/media/docker-compose.yml index 068100d..1d7bd6b 100644 --- a/compose/media/docker-compose.yml +++ b/compose/media/docker-compose.yml @@ -19,7 +19,13 @@ services: image: lscr.io/linuxserver/plex:latest container_name: plex network_mode: bridge - ports: ["32400:32400"] + ports: + - 1900:1900 + - 5353:5353 + - 8324:8324 + - 32400:32400 + - 32412:32412 + - 32469:32469 environment: - PUID=117 - PGID=101 diff --git a/compose/traefik/docker-compose.yml b/compose/traefik/docker-compose.yml index 06a22e8..74bf1c1 100644 --- a/compose/traefik/docker-compose.yml +++ b/compose/traefik/docker-compose.yml @@ -27,6 +27,12 @@ services: - --accessLog.filters.statusCodes=204-299,400-499,500-599 - --providers.file.directory=rules - --providers.file.watch=true + - --metrics.prometheus=true + - --metrics.prometheus.buckets=0.100000, 0.300000, 1.200000, 5.000000 + - --metrics.prometheus.addEntryPointsLabels=true + - --metrics.prometheus.addServicesLabels=true + - --entryPoints.metrics.address=:8899 + - --metrics.prometheus.entryPoint=metrics labels: # Enable Traefik for this service, to make it available in the public network @@ -78,3 +84,5 @@ services: - "1443:443" # The web UI (enabled by --api.insecure=true) - "8080:8080" + # Prometheus metrics + - "8899:8899" diff --git a/swarm/media/compose.yml b/swarm/media/compose.yml new file mode 100644 index 0000000..1d7bd6b --- /dev/null +++ b/swarm/media/compose.yml @@ -0,0 +1,77 @@ +version: "3.7" + +services: + jellyfin: + container_name: jellyfin + image: ghcr.io/hotio/jellyfin:latest + network_mode: bridge + ports: ["8096:8096"] + restart: unless-stopped + environment: + - PUID=986 + - PGID=101 + - UMASK=002 + - TZ=Europe/Stockholm + volumes: + - jellyfin:/config + - /data/media:/media + plex: + image: lscr.io/linuxserver/plex:latest + container_name: plex + network_mode: bridge + ports: + - 1900:1900 + - 5353:5353 + - 8324:8324 + - 32400:32400 + - 32412:32412 + - 32469:32469 + environment: + - PUID=117 + - PGID=101 + - UMASK=002 + - TZ=Europe/Stockholm + - VERSION=docker + - PLEX_CLAIM=claim-kV1j1aMNtz1idHqAjffW + volumes: + - plex:/config + - /data/backup/plex:/backup + - /etc/ssl/technitium:/etc/ssl/private:ro + - /data/media/tv:/tv + - /data/media/movies:/movies + - /data/media/music:/music + - /data/media/books:/books + restart: unless-stopped + airsonic-advanced: + image: lscr.io/linuxserver/airsonic-advanced:latest + container_name: airsonic-advanced + network_mode: bridge + ports: + - 4040:4040 + - 8070:8070 + logging: + driver: json-file + environment: + - PUID=985 + - PGID=101 + - TZ=Europe/Stockholm + - CONTEXT_PATH=/airsonic #optional + - JAVA_OPTS= #optional + volumes: + - airsonic-config:/config + - /data/media/music:/music + - /data/media/playlists:/playlists + - /data/media/podcasts:/podcasts + - /data/media/misc:/media + - /data/media/trash:/trash + devices: + - /dev/snd:/dev/snd #optional + restart: unless-stopped +volumes: + jellyfin: + external: true + plex: + external: true + airsonic-config: + external: true + name: airsonic-config