Do you guys have any success with setting up an arr stack with rootless Podman Quadlets? I really like the idea of Quadlets, but I can’t make it work.

Any guide and/or experience sharing would be greatly appreciated.

I have set up a Rocky Linux 10 with Podman 5.4.2 but after downloading the containers the quadlets were crashing.

Shall I continue digging this rabbit hole or shall I switch back to Docker Compose?

  • greylinux1@lemmy.ml
    link
    fedilink
    English
    arrow-up
    0
    ·
    9 days ago

    nice 👌 , this is what I’ve been looking for, out of interest, as you have split all the containers out of the pod now do you have a setup guide for this ? or similar to above showing maybe an examples of the global.env file and network setup ?

    do you find Flaresolverr is still a reliable option ? I’ve seen mention of alternatives like Byparr

    • Eldaroth@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      7 hours ago

      Sorry didn’t find the time until now to reply. Also in the process of migrating everything to my Kubernetes cluster, so this is not as up to date in regards to image versions as it should be.

      This is my current setup, with only qBittorrent and SABnzbd going through the Gluetun VPN container. Everything else just uses my regular home internet:

      ---
      [Unit]
      Description=Flaresolverr Container
      
      [Container]
      ContainerName=flaresolverr
      HostName=flaresolverr
      EnvironmentFile=global.env
      Image=ghcr.io/flaresolverr/flaresolverr:v3.4.6
      AutoUpdate=registry
      PublishPort=8091:8191
      Network=arr-stack.network
      
      [Service]
      Restart=always
      
      [Install]
      WantedBy=default.target
      ---
      [Unit]
      Description=qBittorrent Container
      Wants=gluetun.service
      After=gluetun.service
      
      [Container]
      ContainerName=qbittorrent
      HostName=qbittorrent
      EnvironmentFile=global.env
      Environment=WEBUI_PORT=8080
      Image=lscr.io/linuxserver/qbittorrent:5.1.4
      AutoUpdate=registry
      UserNS=keep-id:uid=1000,gid=1000
      Network=container:gluetun
      
      Volume=%h/container_volumes/qbittorrent/conf:/config:Z,U
      Volume=%h/Downloads/completed:/downloads:z,U
      Volume=%h/Downloads/incomplete:/incomplete:z,U
      Volume=%h/Downloads/torrents:/torrents:z,U
      
      Memory=1.5g
      
      [Service]
      Restart=always
      
      [Install]
      WantedBy=default.target
      ---
      [Unit]
      Description=Recyclarr TRaSH Guide Sync Container
      Wants=radarr.service sonarr.service
      After=radarr.service sonarr.service
      
      [Container]
      ContainerName=recyclarr
      HostName=recyclarr
      EnvironmentFile=global.env
      Image=ghcr.io/recyclarr/recyclarr:8
      AutoUpdate=registry
      UserNS=keep-id:uid=1000,gid=1000
      Network=arr-stack.network
      
      Secret=sonarr_api_key,type=env,target=SONARR_API_KEY
      Secret=radarr_api_key,type=env,target=RADARR_API_KEY
      
      Volume=%h/container_volumes/recyclarr/conf:/config:Z,U
      
      [Service]
      Restart=always
      
      [Install]
      WantedBy=default.target
      ---
      [Unit]
      Description=SABnzbd Container
      Wants=gluetun.service
      After=gluetun.service
      
      [Container]
      ContainerName=sabnzbd
      HostName=sabnzbd
      Image=lscr.io/linuxserver/sabnzbd:4.5.5
      AutoUpdate=registry
      UserNS=keep-id:uid=1000,gid=1000
      Network=container:gluetun
      EnvironmentFile=global.env
      
      Volume=%h/container_volumes/sabnzbd/conf:/config:Z,U
      Volume=%h/Downloads/sabnzbd/completed:/downloads:z,U
      Volume=%h/Downloads/sabnzbd/incomplete:/incomplete-downloads:z,U
      
      Memory=1.5g
      
      [Service]
      Restart=always
      
      [Install]
      WantedBy=default.target
      ---
      [Unit]
      Description=Sonarr Container
      After=gluetun.service prowlarr.service
      Wants=gluetun.service prowlarr.service
      
      [Container]
      ContainerName=sonarr
      HostName=sonarr
      EnvironmentFile=global.env
      Image=lscr.io/linuxserver/sonarr:4.0.17
      AutoUpdate=registry
      UserNS=keep-id:uid=1000,gid=1000
      PublishPort=8089:8989
      Network=arr-stack.network
      
      HealthCmd=["curl","--fail","http://127.0.0.1:8989/sonarr/ping"]
      HealthInterval=30s
      HealthRetries=10
      
      SecurityLabelDisable=true
      Volume=%h/container_volumes/sonarr/conf:/config:Z,U
      Volume=/mnt/eldanas/tv:/tv
      Volume=%h/Downloads/completed/sonarr:/downloads:z,U
      Volume=%h/Downloads/sabnzbd/completed/tv:/downloads-usenet:z,U
      
      [Service]
      Restart=always
      
      [Install]
      WantedBy=default.target
      ---
      [Unit]
      Description=Prowlarr Container
      Wants=gluetun.service flaresolverr.service
      After=gluetun.service flaresolverr.service
      
      [Container]
      ContainerName=prowlarr
      HostName=prowlarr
      EnvironmentFile=global.env
      Image=lscr.io/linuxserver/prowlarr:2.3.5
      AutoUpdate=registry
      UserNS=keep-id:uid=1000,gid=1000
      PublishPort=8096:9696
      Network=arr-stack.network
      
      HealthCmd=["curl","--fail","http://127.0.0.1:9696/prowlarr/ping"]
      HealthInterval=30s
      HealthRetries=10
      
      Volume=%h/container_volumes/prowlarr/conf:/config:Z,U
      
      [Service]
      Restart=always
      
      [Install]
      WantedBy=default.target
      ---
      [Unit]
      Description=Radarr Container
      After=gluetun.service prowlarr.service
      Wants=gluetun.service prowlarr.service
      
      [Container]
      ContainerName=radarr
      HostName=radarr
      EnvironmentFile=global.env
      Image=lscr.io/linuxserver/radarr:6.1.1
      AutoUpdate=registry
      UserNS=keep-id:uid=1000,gid=1000
      PublishPort=8078:7878
      Network=arr-stack.network
      
      HealthCmd=["curl","--fail","http://127.0.0.1:7878/radarr/ping"]
      HealthInterval=30s
      HealthRetries=10
      
      SecurityLabelDisable=true
      Volume=%h/container_volumes/radarr/conf:/config:Z,U
      Volume=/mnt/eldanas/movies:/movies
      Volume=%h/Downloads/completed/radarr:/downloads:z,U
      Volume=%h/Downloads/sabnzbd/completed/movies:/downloads-usenet:z,U
      
      [Service]
      Restart=always
      
      [Install]
      WantedBy=default.target
      ---
      [Unit]
      Description=Gluetun Container
      
      [Container]
      ContainerName=gluetun
      HostName=gluetun
      EnvironmentFile=global.env
      EnvironmentFile=gluetun.env
      Environment=FIREWALL_INPUT_PORTS=8080
      Image=docker.io/qmcgaw/gluetun:v3.41.1
      AutoUpdate=registry
      PodmanArgs=--privileged
      AddCapability=NET_ADMIN
      AddDevice=/dev/net/tun:/dev/net/tun
      PublishPort=8080:8080
      # SABnzbd Port Mapping
      PublishPort=8085:8085
      # Gluetun Port Mapping
      PublishPort=8123:8000
      Network=arr-stack.network
      
      Volume=%h/container_volumes/gluetun/conf:/gluetun:Z,U
      
      Secret=proton_wireguard_private_key,type=env,target=WIREGUARD_PRIVATE_KEY
      
      [Service]
      Restart=always
      
      [Install]
      WantedBy=default.target
      ---
      [Unit]
      Description=Seerr Container
      After=gluetun.service
      Wants=gluetun.service
      
      [Container]
      ContainerName=seerr
      HostName=seerr
      EnvironmentFile=global.env
      Image=ghcr.io/seerr-team/seerr:v3.2.0
      UserNS=keep-id:uid=1000,gid=1000
      AutoUpdate=registry
      PublishPort=8055:5055
      Network=arr-stack.network
      
      Volume=%h/container_volumes/seerr/conf:/app/config:Z,U
      
      [Service]
      Restart=always
      
      [Install]
      WantedBy=default.target
      

      The global.env file only contains env variables like TZ or the PUID and PGID which are used in almost all my containers.