roasted-garlic-78

Select a destination to open the matching active port.

Arr stack

Stack overview

Homelab Portal nginx · :80 / :443 · roasted-garlic-78
Core · bridge network
Jellyfin :8096
Nextcloud :8443
Gluetun · ProtonVPN tunnel
qBittorrent :8081
Prowlarr :9696
Radarr :7878
Sonarr :8989
Lidarr :8686
FlareSolverr :8191
Bazarr :6767
Shared media storage /mnt/storage/jellyfin/media
movies/ tv/ music/
How a request becomes media
  1. Radarr / Sonarr / Lidarr searches Prowlarr for a matching release — FlareSolverr bypasses Cloudflare on protected indexers
  2. Release is queued in qBittorrent — all traffic exits through ProtonVPN via Gluetun
  3. Download completes → arr app hardlinks the file into /media
  4. Bazarr fetches matching subtitles and writes them alongside the media file
  5. Jellyfin scans the library and the title is ready to watch

Homelab health

Server IP ...
VPN exit IP ...

Network throughput

Samples live traffic on the default interface for ~3 seconds.

Download
Upload

Core

    Gluetun + arr stack

    qBittorrent, Radarr, Sonarr, Prowlarr, Lidarr, FlareSolverr, and Bazarr share Gluetun’s network (see docker-compose.yml). When the tunnel is up, their traffic exits through ProtonVPN.

    Checking Gluetun-backed services...

      Common commands

      Health checks
      All container statuses
      cd ~/homelab && docker compose ps
      Disk usage on storage volume
      df -h /mnt/storage
      Verify VPN exit IP (should be ProtonVPN, not home IP)
      docker exec qbittorrent curl -s https://ifconfig.me
      Gluetun / arr stack
      Restart Gluetun — fixes most red-dot outages on the health panel
      cd ~/homelab && docker compose restart gluetun
      Force-recreate full arr stack (if restart alone doesn’t work)
      cd ~/homelab && docker compose up -d --force-recreate gluetun qbittorrent prowlarr radarr sonarr lidarr flaresolverr bazarr
      Gluetun logs — check for AUTH_FAILED or tunnel status
      docker logs --tail 50 gluetun
      Updates
      Pull latest images and restart all services
      cd ~/homelab && docker compose pull && docker compose up -d
      Clean up old unused images
      docker image prune -f
      Logs
      Follow logs for a service — replace name as needed
      docker logs -f jellyfin