version: '2' services: transmission: container_name: transmission image: lscr.io/linuxserver/transmission:latest environment: - PUID=1000 - PGID=1000 - TZ=Europe/London - USER=admin - PASS=nimdatx ports: - 9091:9091 - 51413:51413 - 51413:51413/udp volumes: - tx-config:/config - tx-downloads:/downloads - tx-watch:/watch restart: "unless-stopped" radarr: container_name: radarr image: lscr.io/linuxserver/radarr:latest environment: - PUID=1000 - PGID=1000 - TZ=Europe/London ports: - 7878:7878 volumes: - radarr-config:/config - movies:/movies - tx-downloads:/downloads restart: "unless-stopped" sonarr: image: lscr.io/linuxserver/sonarr:latest container_name: sonarr environment: - PUID=1000 - PGID=1000 - TZ=Europe/London volumes: - sonarr-config:/config - tvshows:/tv #optional - tx-downloads:/downloads #optional ports: - 8989:8989 restart: unless-stopped jackett: container_name: jackett image: lscr.io/linuxserver/jackett:latest environment: - PUID=1000 - PGID=1000 - TZ=Europe/London volumes: - jackett-config:/config - jackett-blackhole:/downloads ports: - 9117:9117 restart: unless-stopped jellyfin: image: lscr.io/linuxserver/jellyfin:latest container_name: jellyfin environment: - PUID=1000 - PGID=1000 - TZ=Europe/London volumes: - jellyfin-config:/config - tvshows:/data/tvshows - movies:/data/movies ports: - 8096:8096 - 7359:7359/udp #optional - 8920:8920 restart: unless-stopped nginx: image: nginx:1.21.3-alpine container_name: nginx volumes: - nginx-config:/etc/nginx - letsencrypt:/etc/letsencrypt ports: - 80:80 - 443:443 restart: unless-stopped volumes: tx-config: tx-downloads: tx-watch: radarr-config: sonarr-config: jackett-config: jackett-blackhole: jellyfin-config: tvshows: movies: nginx-config: letsencrypt: