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