2 Commits

Author SHA1 Message Date
npatenaude 0edafb6a51 Added env examples and scripts 2026-04-04 17:48:57 +00:00
npatenaude 9a9f269699 Added Qbittorrent and Gluetun 2026-03-30 00:55:51 +00:00
4 changed files with 114 additions and 14 deletions
+3
View File
@@ -7,6 +7,9 @@ Config/Prowlarr/*
Config/Radarr/* Config/Radarr/*
Config/Sonarr/* Config/Sonarr/*
config/
*.log *.log
*.pid *.pid
*.sock *.sock
+57 -14
View File
@@ -7,12 +7,21 @@ services:
- PUID=1000 - PUID=1000
- PGID=1000 - PGID=1000
- TZ=America/Detroit - TZ=America/Detroit
- NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=all
volumes: volumes:
- "C:/Media Server/Config/Jellyfin:/config" - "./config/jellyfin:/config"
- "M:/Media/Movies:/data/movies" - "/home/npate/storage/media/movies:/data/movies"
- "M:/Media/TV Shows:/data/tvshows" - "/home/npate/storage/media/tvshows:/data/tvshows"
ports: ports:
- 8096:8096 - 8096:8096
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
restart: unless-stopped restart: unless-stopped
jellyseerr: jellyseerr:
@@ -24,7 +33,7 @@ services:
ports: ports:
- 5055:5055 - 5055:5055
volumes: volumes:
- "C:/Media Server/Config/Jellyseer:/app/config" - "./config/jellyseerr:/app/config"
restart: unless-stopped restart: unless-stopped
sonarr: sonarr:
@@ -35,9 +44,9 @@ services:
- PGID=1000 - PGID=1000
- TZ=America/Detroit - TZ=America/Detroit
volumes: volumes:
- "C:/Media Server/Config/Sonarr:/config" - "./config/sonarr:/config"
- "M:/Media/TV Shows:/data/tvshows" - "/home/npate/storage/media/tvshows:/data/tvshows"
- "M:/Media/Downloads:/downloads" - "/home/npate/storage/media/downloads:/downloads"
ports: ports:
- 8989:8989 - 8989:8989
restart: unless-stopped restart: unless-stopped
@@ -50,9 +59,9 @@ services:
- PGID=1000 - PGID=1000
- TZ=America/Detroit - TZ=America/Detroit
volumes: volumes:
- "C:/Media Server/Config/Radarr:/config" - "./config/radarr:/config"
- "M:/Media/Movies:/data/movies" - "/home/npate/storage/media/movies:/data/movies"
- "M:/Media/Downloads:/downloads" - "/home/npate/storage/media/downloads:/downloads"
ports: ports:
- 7878:7878 - 7878:7878
restart: unless-stopped restart: unless-stopped
@@ -65,11 +74,45 @@ services:
- PGID=1000 - PGID=1000
- TZ=America/Detroit - TZ=America/Detroit
volumes: volumes:
- "C:/Media Server/Config/Prowlarr:/config" - "./config/prowlarr:/config"
ports: ports:
- 9696:9696 - 9696:9696
restart: unless-stopped restart: unless-stopped
gluetun:
image: qmcgaw/gluetun:latest
container_name: gluetun
cap_add:
- NET_ADMIN
environment:
- VPN_SERVICE_PROVIDER=nordvpn
- VPN_TYPE=openvpn
- OPENVPN_USER=${NORDVPN_USER}
- OPENVPN_PASSWORD=${NORDVPN_PASSWORD}
- SERVER_COUNTRIES=${NORDVPN_SERVER_COUNTRIES:-United States}
- TZ=America/Detroit
volumes:
- "./config/gluetun:/gluetun"
ports:
- 8080:8080
restart: unless-stopped
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
network_mode: "service:gluetun"
depends_on:
- gluetun
environment:
- PUID=1000
- PGID=1000
- TZ=America/Detroit
- WEBUI_PORT=8080
volumes:
- "./config/qbittorrent:/config"
- "/home/npate/storage/media/downloads:/downloads"
restart: unless-stopped
flaresolverr: flaresolverr:
# DockerHub mirror flaresolverr/flaresolverr:latest # DockerHub mirror flaresolverr/flaresolverr:latest
image: ghcr.io/flaresolverr/flaresolverr:latest image: ghcr.io/flaresolverr/flaresolverr:latest
@@ -89,9 +132,9 @@ services:
- PGID=1000 - PGID=1000
- TZ=Etc/UTC - TZ=Etc/UTC
volumes: volumes:
- "C:/Media Server/Config/Bazarr:/config" - "./config/bazarr:/config"
- "M:/Media/Movies:/data/movies" - "/home/npate/storage/media/movies:/data/movies"
- "M:/Media/TV Shows:/data/tvshows" - "/home/npate/storage/media/tvshows:/data/tvshows"
ports: ports:
- 6767:6767 - 6767:6767
restart: unless-stopped restart: unless-stopped
+9
View File
@@ -0,0 +1,9 @@
# NordVPN credentials for Gluetun
# Get these from: https://my.nordaccount.com/dashboard/nordvpn/ -> Manual Setup
# These are *service* credentials, not your regular NordVPN login
NORDVPN_USER=
NORDVPN_PASSWORD=
# Optional: Comma-separated list of countries (e.g. "United States", "Canada", "Netherlands")
# Leave unset to use "United States"
# NORDVPN_SERVER_COUNTRIES=United States
+45
View File
@@ -0,0 +1,45 @@
#!/usr/bin/env bash
# Install proprietary NVIDIA driver + NVIDIA Container Toolkit on Ubuntu (for Docker GPU).
# Run on the server: bash scripts/install-nvidia-stack.sh
# Reboot after completion, then: nvidia-smi
set -euo pipefail
echo "==> Updating apt"
sudo apt-get update
echo "==> Installing ubuntu-drivers-common"
sudo apt-get install -y ubuntu-drivers-common
echo "==> Detected devices / recommendations:"
ubuntu-drivers devices || true
echo "==> Installing recommended proprietary NVIDIA driver"
sudo ubuntu-drivers autoinstall
echo "==> Adding NVIDIA Container Toolkit repository"
sudo apt-get install -y curl gnupg2
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey \
| sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list \
| sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' \
| sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
echo "==> Installing nvidia-container-toolkit"
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
echo "==> Configuring Docker to use NVIDIA runtime"
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
echo ""
echo "Done. Reboot the server so the kernel loads the NVIDIA driver:"
echo " sudo reboot"
echo ""
echo "After reboot, verify:"
echo " nvidia-smi"
echo " docker run --rm --gpus all nvidia/cuda:12.6.3-base-ubuntu22.04 nvidia-smi"
echo ""
echo "Then recreate Jellyfin:"
echo " cd $(dirname "$(dirname "$(readlink -f "$0")")") && docker compose up -d jellyfin"