• 4 Posts
  • 14 Comments
Joined 3 years ago
cake
Cake day: April 11th, 2023

help-circle













  • version: “3.7” services: gluetun: image: qmcgaw/gluetun:latest cap_add: - NET_ADMIN devices: - /dev/net/tun:/dev/net/tun

    environment: #WIREGUARD ENVIRONMENT

    - VPN_SERVICE_PROVIDER=custom

    - VPN_SERVICE_PROVIDER=mullvad

    - VPN_TYPE=wireguard

    - WIREGUARD_PRIVATE_KEY=asdf#Mullvad

    - WIREGUARD_ADDRESSES=asdf #Mullvad

    - WIREGUARD_PUBLIC_KEY=asdf=#ProtonVPN

    - WIREGUARD_PRIVATE_KEY=asdf=#ProtonVPN

    - WIREGUARD_PRESHARED_KEY= #ProtonVPN

    - WIREGUARD_ADDRESSES=asdf#ProtonVPN

    - SERVER_CITIES=New York NY

    - FIREWALL_VPN_INPUT_PORTS=55106

    - VPN_ENDPOINT_PORT=51820

    environment:
      - VPN_SERVICE_PROVIDER=protonvpn
      - OPENVPN_USER=asdf
      - OPENVPN_PASSWORD=asdf
      - SERVER_COUNTRIES=United States,Canada
    ports:
       - 5055:5055 #Jellyseerr
       - 8123:8123 #QBT web interface
       - 6881:6881/tcp #QBT Torrenting
       - 6881:6881/udp #Above
       - 9000:9000 #gluetun
    

    - 9117:9117 #Jackett

       - 9696:9696 #Prowlarr
    

    - 8686:8686 #Lidarr

       - 6595:6595 #Deemix
       - 8787:8787 #Readarr
       - 8888:8888/tcp #gluetun
       - 8388:8388/tcp #gluetun
       - 8388:8388/udp #gluetun
       - 8989:8989 #Sonarr
       - 7878:7878 #Radarr
    

    - 7575:7575 #Homarr

    - 4000:4000 #Midarr

       - 5100:5000 #slskd http
       - 5101:5001 #slskd https
       - 50000:50000 #slskd connections
       - 4545:4545 #requestrr
    

    qbittorrent: image: lscr.io/linuxserver/qbittorrent:latest #Master

    image: cr.hotio.dev/hotio/qbittorrent #With VueTorrent Built in

      container_name: qbittorrent
      network_mode: "service:gluetun"
      environment:
        - PUID=1000
        - PGID=1001
        - TZ=America/New_York
        - WEBUI_PORT=8123
        - DOCKER_MODS=arafatamim/linuxserver-io-mod-vuetorrent
      volumes:
        - ./qbittorrent:/config
        - /External/Downloads:/downloads
    

    ports:

    - 8080:8080

    - 6881:6881

    - 6881:6881/udp

      restart: unless-stopped
    

    prowlarr: image: lscr.io/linuxserver/prowlarr:develop container_name: prowlarr network_mode: “service:gluetun” environment: - PUID=1000 - PGID=1001 - TZ=America/New_York - AUTO_UPDATE=true #optional

    - RUN_OPTS=<run options here> #optional

    volumes:
      - ./prowlarr:/config
    

    - /External/Prowlarr:/downloads

    ports:

    - 9696:9696

    restart: unless-stopped
    

    sonarr: image: lscr.io/linuxserver/sonarr:latest container_name: sonarr network_mode: “service:gluetun” environment: - PUID=1000 - PGID=1000 - TZ=America/New_York volumes: - ./sonarr:/config - /External/Jellyfin/TV:/tv #optional - /External/Downloads:/downloads #optional - /home/butter/Jellyfin/TV:/internalTV

    ports:

    - 8989:8989

    - 8990:8123

    restart: unless-stopped
    

    radarr: image: lscr.io/linuxserver/radarr:latest container_name: radarr network_mode: “service:gluetun” environment: - PUID=1000 - PGID=1000 - TZ=America/New_York volumes: - ./radarr:/config - /External/Jellyfin/Movies:/movies #optional - /External/Downloads:/downloads #optional - /home/butter/Jellyfin:/internalmovies

    ports:

    - 7878:7878

    restart: unless-stopped
    

    homarr:

    container_name: homarr

    image: ghcr.io/ajnart/homarr:latest

    network_mode: “service:gluetun”

    restart: unless-stopped

    volumes:

    - ./homarr/configs:/app/data/configs

    - ./homarr/icons:/app/public/icons

    ports:

    - ‘7575:7575’

    jellyseerr: image: fallenbagel/jellyseerr:latest network_mode: “service:gluetun” container_name: jellyseerr environment: - LOG_LEVEL=debug - TZ=America/New_York

    ports:

    - 5055:5055

    volumes:
         - ./jellyseerr:/app/config
    restart: unless-stopped
    

    readarr: image: lscr.io/linuxserver/readarr:develop container_name: readarr network_mode: “service:gluetun” environment: - PUID=1000 - PGID=1000 - TZ=America/New_York volumes: - ./readarr:/config - /External/Books:/books #optional - /External/Downloads:/downloads #optional

    ports:

    - 8787:8787

    restart: unless-stopped
    

    lidarr:

    container_name: lidarr

    network_mode: “service:gluetun”

    image: lscr.io/linuxserver/lidarr:latest #Official

    image: youegraillot/lidarr-on-steroids #Fork based off guide online; Very outdated

    image: cr.hotio.dev/hotio/lidarr #Fork from Reddit

    #ports:
    #  - "8686:8686"
    

    environment:

    - PUID=1000

    - PGID=1000

    - UMASK=002

    - TZ=America/New_York

    volumes:

    - ./lidarr:/config

    - ./deemix:/config_deemix

    - /External/Music/Lidarr:/music #optional

    - /External/Downloads/Lidarr:/downloads #optional

    lidarr-extended:

    image: randomninjaatk/lidarr-extended:latest

    container_name: lidarr-extended

    network_mode: “service:gluetun”

    volumes:

    - ./lidarr-extended:/config

    - /External/Downloads/Lidarr:/downloads-lidarr-extended

    - /External/Music/Lidarr:/music

    - /External/Music/Lidarr/Videos:/music-videos

    environment:

    - TZ=America/New_York

    - PUID=1000

    - PGID=1000

    - enableAudioScript=true

    - enableVideoScript=false

    - scriptInterval=5m

    - configureLidarrWithOptimalSettings=true

    - searchSort=date

    - audioFormat=native

    - audioBitrate=lossless

    - requireQuality=true

    - enableReplaygainTags=true

    - audioLyricType=both

    - dlClientSource=deezer

    - arlToken=

    - tidalCountryCode=US

    - addDeezerTopArtists=false

    - addDeezerTopAlbumArtists=false

    - addDeezerTopTrackArtists=false

    - topLimit=10

    - addRelatedArtists=false

    - numberOfRelatedArtistsToAddPerArtist=5

    - addFeaturedVideoArtists=false

    - plexUrl=http://x.x.x.x:32400

    - plexToken=Token_Goes_Here

    - youtubeSubtitleLanguage=en

    - enableQueueCleaner=true

    - matchDistance=5

    - enableBeetsTagging=true

    - beetsMatchPercentage=90

    ports:

    - 8686:8686

    restart: unless-stopped

    midarr:

    container_name: midarr

    image: ghcr.io/midarrlabs/midarr-server:latest

    network_mode: “service:gluetun”

    ports:

    - 4000:4000

    volumes:

    Database path

    - ./midarr:/app/database

    Media path

    - /External/Jellyfin/Movies:/radarr/movies/path

    - /External/Jellyfin/TV:/sonarr/shows/path

    environment:

    App config

    - APP_URL=http://localhost:4000

    - APP_MAILER_FROM=

    - SENDGRID_API_KEY=someAPIKEY

    Admin account

    - SETUP_ADMIN_EMAIL=

    - SETUP_ADMIN_NAME=

    - SETUP_ADMIN_PASSWORD= # minimum length 12

    Radarr integration

    - RADARR_BASE_URL=localhost:7878

    - RADARR_API_KEY=asdf

    Sonarr integration

    - SONARR_BASE_URL=localhost:8989

    - SONARR_API_KEY=asdf

    slskd: image: slskd/slskd container_name: slskd network_mode: “service:gluetun” volumes: - ./slskd:/app - /External/Music:/music - /External/Books:/audiobooks restart: always

    deemix: image: registry.gitlab.com/bockiii/deemix-docker container_name: Deemix network_mode: “service:gluetun” volumes: - /External/Music/Deezer:/downloads - ./Deezer:/config environment: - PUID=1000 - PGID=1000 - UMASK_SET=022 - DEEMIX_SINGLE_USER=true

    ports:

    - 6595:6595

    requestrr: container_name: requestrr network_mode: “service:gluetun”

    ports:

    - ‘4545:4545’

      volumes:
          - ./requestrr:/root/config
      restart: unless-stopped
      image: darkalfx/requestrr
    

  • *.domain points to my server, nginx reverse proxy separates it out between the various services. I have jellyfin and navidrome. As well as audiobookshelf for my wife. No hardware transcoding.

    Everything is Docker except nginx. I have gluetun routing everything that my ISP probably wouldn’t like through a VPN.

    Jellyseerr, I thought would be more popular, but it turns out requestrr is doing most of the media grabbing now days. My brother has a family discord, I attached to it.

    The only thing I stress about backups with is my music. I could (and have) rebuilt my server in a day. But it’s taken years to build my library. It’s syncthing’d between my server, laptop, and my brother’s computer (who helps build the library). It’s also syncing to pcloud, but less regularly. Movies are trivial to regrab, and TV can be hit or miss, but it’s still not worth the effort to back it up.

    Last time I upgraded my server, I just copied out my Docker compose files and config folders. As well as my nginx. Since then, if I had to, I could back up everything and restore from a single folder.

    I’ll attach my docker for my torrent stack below. It’s a single large docker because it’s easier to make services use the VPN if they’re attached like that. The rest of my services that don’t run through VPN are individuals that I can stop without commenting them out.