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?

  • Eldaroth@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    8 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.