Skip to content

Instantly share code, notes, and snippets.

@vip20
Last active March 3, 2024 07:55
Show Gist options
  • Save vip20/58c7ecda08e553800aa75495dc757548 to your computer and use it in GitHub Desktop.
Save vip20/58c7ecda08e553800aa75495dc757548 to your computer and use it in GitHub Desktop.
Docker compose for Media server using Jellyfin, Sonarr, Radarr, Prowlarr/Jackett, Deluge, Flaresolver and ProtonVPN connection
#Proton vpn credentials free tier
OPENVPN_USER=
OPENVPN_PASSWORD=
SERVER_COUNTRIES=Netherlands,United States,Japan
FREE_ONLY=on
#linux accessid
PUID=1000
PGID=1000
#timezone
TZ=Asia/Kolkata
#media directory
MEDIA_DIR=/mnt/media/media
DOWNLOAD_DIR=/mnt/media/downloads
version: "1.0"
services:
vpn:
container_name: vpn
image: qmcgaw/gluetun:latest
cap_add:
- NET_ADMIN
environment:
- VPN_SERVICE_PROVIDER=${VPN_SERVICE_PROVIDER:-protonvpn}
- OPENVPN_USER=${OPENVPN_USER:-""}
- OPENVPN_PASSWORD=${OPENVPN_PASSWORD:-""}
- FREE_ONLY:on
- SERVER_COUNTRIES=${SERVER_COUNTRIES:-Netherlands}
- FREE_ONLY=on
networks:
- default
ports:
# qbittorrent ports
- 8112:8112
- 6881:6881
- 6881:6881/udp
# prowlarr ports
- 9696:9696
# flaresolver port
- 8191:8191
# jackett port
# - 9117:9117
restart: "unless-stopped"
deluge:
image: lscr.io/linuxserver/deluge:latest
container_name: deluge
# Comment this if vpn is disabled
depends_on:
- vpn
networks:
- default
network_mode: service:vpn # Comment this line if vpn is disabled
environment:
- PUID="${PUID}"
- PGID="${PGID}"
- TZ="${TZ}"
- DELUGE_LOGLEVEL=error #optional
## Uncomment below ports if VPN is disabled.
# ports:
# - 8112:8112
# - 6881:6881
# - 6881:6881/udp
volumes:
- deluge-config:/config
- "${DOWNLOAD_DIR}:/downloads"
restart: unless-stopped
prowlarr:
container_name: prowlarr
image: linuxserver/prowlarr:latest
# Comment this if vpn is disabled
depends_on:
- vpn
network_mode: service:vpn # Comment this line if vpn is disabled
networks:
- default
environment:
- PUID="${PUID}"
- PGID="${PGID}"
- TZ="${TZ}"
volumes:
- prowlarr-config:/config
## Uncomment below ports if VPN is disabled.
# ports:
# - 9696:9696
restart: unless-stopped
# use either jackett or prowlarr
jackett:
container_name: jackett
image: linuxserver/jackett:latest
depends_on:
- vpn
networks:
- default
network_mode: service:vpn # Comment this line if vpn is disabled
environment:
- PUID="${PUID}"
- PGID="${PGID}"
- TZ="${TZ}"
volumes:
- jackett-config:/config
- jackett-blackhole:/downloads
restart: unless-stopped
jellyfin:
image: linuxserver/jellyfin:latest
container_name: jellyfin
networks:
- default
environment:
- PUID="${PUID}"
- PGID="${PGID}"
- TZ="${TZ}"
volumes:
- jellyfin-config:/config
- "${MEDIA_DIR}/movies:/movies"
- "${MEDIA_DIR}/tvshows:/tvshows"
# devices:
# - /dev/videoN:/dev/videoN # Mount GPU device
ports:
- 8096:8096
- 7359:7359/udp
- 8920:8920
restart: unless-stopped
radarr:
container_name: radarr
image: linuxserver/radarr:latest
networks:
- default
environment:
- PUID="${PUID}"
- PGID="${PGID}"
- TZ="${TZ}"
ports:
- 7878:7878
volumes:
- radarr-config:/config
- "${DOWNLOAD_DIR}:/downloads"
- "${MEDIA_DIR}/movies:/movies"
restart: "unless-stopped"
sonarr:
image: linuxserver/sonarr:latest
container_name: sonarr
networks:
- default
environment:
- PUID="${PUID}"
- PGID="${PGID}"
- TZ="${TZ}"
volumes:
- sonarr-config:/config
- "${DOWNLOAD_DIR}:/downloads"
- "${MEDIA_DIR}/tvshows:/tvshows"
ports:
- 8989:8989
restart: unless-stopped
flaresolverr:
image: ghcr.io/flaresolverr/flaresolverr:latest
container_name: flaresolverr
environment:
- LOG_LEVEL=${LOG_LEVEL:-info}
- LOG_HTML=${LOG_HTML:-false}
- CAPTCHA_SOLVER=${CAPTCHA_SOLVER:-none}
- PUID="${PUID}"
- PGID="${PGID}"
- TZ="${TZ}"
depends_on:
- vpn
networks:
- default
network_mode: service:vpn # Comment this line if vpn is disabled
restart: unless-stopped
volumes:
radarr-config:
sonarr-config:
prowlarr-config:
jellyfin-config:
deluge-config:
tx-config:
tx-watch:
jackett-config:
jackett-blackhole:
@ksejan
Copy link

ksejan commented Jun 18, 2023

While trying to execute I get the following error:
image

This is my .env file:

OPENVPN_USER=opQAPx5gq95eXme5
OPENVPN_PASSWORD=DWbSd9jvpsHaYQpg8fRztNCUUQcGFOkG
SERVER_COUNTRIES=Netherlands,United States,Japan
FREE_ONLY=on
#linux accessid
PUID=1000
PGID=1000
#timezone
TZ=Asia/Kolkata
#media directory
MEDIA_DIR=/mnt/media/media
DOWNLOAD_DIR=/mnt/media/downloads

And this is my config file:

version: "1.0"
services:
  vpn:
    container_name: vpn
    image: qmcgaw/gluetun:latest
    cap_add:
      - NET_ADMIN
    environment:
      - VPN_SERVICE_PROVIDER=${VPN_SERVICE_PROVIDER:-protonvpn}
      - OPENVPN_USER=${OPENVPN_USER:-""}
      - OPENVPN_PASSWORD=${OPENVPN_PASSWORD:-""}
      - FREE_ONLY:on
      - SERVER_COUNTRIES=${SERVER_COUNTRIES:-Netherlands}
      - FREE_ONLY=on  

    networks:
      - default
    ports:
      # qbittorrent ports
      - 8112:8112
      - 6881:6881
      - 6881:6881/udp
      # prowlarr ports
      - 9696:9696
      # flaresolver port
      - 8191:8191
      # jackett port
      # - 9117:9117
    restart: "unless-stopped"
  deluge:
    image: lscr.io/linuxserver/deluge:latest
    container_name: deluge
    # Comment this if vpn is disabled
    depends_on:
      - vpn
    networks:
      - default
    network_mode: service:vpn # Comment this line if vpn is disabled
    environment:
      - PUID="${PUID}"
      - PGID="${PGID}"
      - TZ="${TZ}"
      - DELUGE_LOGLEVEL=error #optional
    ## Uncomment below ports if VPN is disabled.
    # ports:
    #   - 8112:8112
    #   - 6881:6881
    #   - 6881:6881/udp
    volumes:
      - deluge-config:/config
      - "${DOWNLOAD_DIR}:/downloads"
    restart: unless-stopped
  
  prowlarr:
    container_name: prowlarr
    image: linuxserver/prowlarr:latest
    # Comment this if vpn is disabled
    depends_on:
      - vpn
    network_mode: service:vpn # Comment this line if vpn is disabled
    networks:
      - default
    environment:      
      - PUID="${PUID}"
      - PGID="${PGID}"
      - TZ="${TZ}"
    volumes:
      - prowlarr-config:/config
    ## Uncomment below ports if VPN is disabled.
    # ports:
    #   - 9696:9696
    restart: unless-stopped
  # use either jackett or prowlarr
  jackett:
    container_name: jackett
    image: linuxserver/jackett:latest
    depends_on:
      - vpn
    networks:
      - default
    network_mode: service:vpn # Comment this line if vpn is disabled
    environment:  
      - PUID="${PUID}"
      - PGID="${PGID}"
      - TZ="${TZ}"
    volumes:
      - jackett-config:/config
      - jackett-blackhole:/downloads
    restart: unless-stopped
  
  jellyfin:
    image: linuxserver/jellyfin:latest
    container_name: jellyfin
    networks:
      - default
    environment:
      - PUID="${PUID}"
      - PGID="${PGID}"
      - TZ="${TZ}"
    volumes:
      - jellyfin-config:/config
      - "${MEDIA_DIR}/movies:/movies"
      - "${MEDIA_DIR}/tvshows:/tvshows"
  # devices:
   #  - /dev/videoN:/dev/videoN # Mount GPU device 
    ports:
      - 8096:8096
      - 7359:7359/udp
      - 8920:8920
    restart: unless-stopped
  radarr:
    container_name: radarr
    image: linuxserver/radarr:latest
    networks:
      - default
    environment:
      - PUID="${PUID}"
      - PGID="${PGID}"
      - TZ="${TZ}"
    ports:
      - 7878:7878
    volumes:
      - radarr-config:/config
      - "${DOWNLOAD_DIR}:/downloads"
      - "${MEDIA_DIR}/movies:/movies"
    restart: "unless-stopped"

  sonarr:
    image: linuxserver/sonarr:latest
    container_name: sonarr
    networks:
      - default
    environment:
      - PUID="${PUID}"
      - PGID="${PGID}"
      - TZ="${TZ}"
    volumes:
      - sonarr-config:/config
      - "${DOWNLOAD_DIR}:/downloads"
      - "${MEDIA_DIR}/tvshows:/tvshows"
    ports:
      - 8989:8989
    restart: unless-stopped
    
  flaresolverr:
    image: ghcr.io/flaresolverr/flaresolverr:latest
    container_name: flaresolverr
    environment:
      - LOG_LEVEL=${LOG_LEVEL:-info}
      - LOG_HTML=${LOG_HTML:-false}
      - CAPTCHA_SOLVER=${CAPTCHA_SOLVER:-none}
      - PUID="${PUID}"
      - PGID="${PGID}"
      - TZ="${TZ}"
    
    depends_on:
      - vpn
    networks:
      - default
    network_mode: service:vpn # Comment this line if vpn is disabled
    restart: unless-stopped 

volumes:
  radarr-config:
  sonarr-config:
  prowlarr-config:
  jellyfin-config:
  deluge-config:
  tx-config:
  tx-watch:
  jackett-config:
  jackett-blackhole:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment