How To Create An Arr Stack In CasaOS: The Ultimate Automated Media Center Guide

How To Create An Arr Stack In CasaOS: The Ultimate Automated Media Center Guide

Polite media searching for your *arr stack | Houndarr

Deploying an Arr stack inside CasaOS transforms your home server into a fully automated, self-healing media management ecosystem using Docker containers. By leveraging CasaOS’s intuitive dashboard, you can orchestrate Sonarr, Radarr, Prowlarr, and Plex or Jellyfin with persistent storage volumes and robust networking configurations in under thirty minutes.


Pre-Operation & Planning Checklist for CasaOS Media Servers

Setting up an automated media environment requires meticulous organization of directory structures and network paths to prevent permission conflicts and hardlinking failures. Getting these foundational layers right before spinning up containers eliminates data corruption and indexing bottlenecks down the line.



  • Essential Infrastructure: A dedicated home server running a fresh installation of CasaOS, a multi-core CPU with hardware transcoding capabilities, and a minimum of 8GB RAM.
  • Storage Architecture: A unified storage pool structured with a root media directory containing distinct subfolders for movies, TV shows, and download clients to allow atomic moves and hardlinks.
  • Prerequisite Knowledge: Basic familiarity with Docker volume mapping, container environment variables, and the distinction between public and private torrent trackers or Usenet indexers.
  • Estimated Budget & Duration: Free and open-source software stack requiring approximately 30 to 45 minutes of configuration time, depending on indexer verification.

Step-by-Step Implementation of the Arr Stack in CasaOS



Step 1: Establish Unified Storage Directories and Permissions



  1. Access your CasaOS dashboard and open the Files application to establish your persistent storage layout on your primary drive or storage pool.
  2. Create a root folder named data, and inside it, create subfolders titled media, torrents, and usenet to maintain proper file isolation.
  3. Inside the media folder, create separate directories specifically named movies and tv to ensure your media servers categorize incoming assets correctly.
  4. Open the terminal or use SSH to verify that the user ID and group ID executing the Docker containers match your host system permissions, typically using standard 1000:1000 parameters to avoid read-only mount errors.

Pro-Tip: Always map your download client and your media servers to the exact same parent path within the container filesystem, such as /data, to enable instant hardlinking instead of slow cross-device file copying.



Step 2: Deploy Prowlarr for Centralized Indexer Management



  1. Navigate to the CasaOS App Store, click on Custom Install, or use the Docker compose import feature to initiate a manual container deployment.
  2. Input lscr.io/linuxserver/prowlarr:latest as the image source and assign a static local port such as 9696 for the web interface.
  3. Configure your persistent volume mappings by linking your host configuration directory to /config inside the container.
  4. Launch the container, access the Prowlarr web interface, and add your torrent trackers or Usenet indexers before synchronizing them directly to your downstream Arr applications.


Step 3: Configure Sonarr and Radarr for Automated Downloads



  1. Deploy Sonarr using lscr.io/linuxserver/sonarr:latest on port 8989 and Radarr using lscr.io/linuxserver/radarr:latest on port 7878 through the CasaOS custom app deployment tool.
  2. Attach the host /data directory to the container path /data for both applications to ensure seamless interaction with your download client.
  3. Navigate to Settings, Media Management within both Sonarr and Radarr, and enable advanced settings to toggle on hardlinks and rename options.
  4. Connect your download client, such as qBittorrent or SABnzbd, by inputting the container IP address or internal Docker network bridge hostname alongside the appropriate API keys.


Step 4: Integrate Media Servers and Setup Remote Access



  1. Install Plex or Jellyfin via the CasaOS app ecosystem to serve as the front-end user interface for streaming your organized library across devices.
  2. Point your media server libraries to the corresponding host directories mapped under /data/media/movies and /data/media/tv.
  3. Configure your download client categories so that completed torrents or Usenet files automatically drop into distinct subfolders inside /data/torrents/completed.
  4. Test the entire workflow by manually searching for a media item in Radarr or Sonarr to verify that the request successfully passes to Prowlarr, triggers the download client, and moves into the Plex library upon completion.

SaaS retention benchmarks: How does your business stack up? | TechCrunch

SaaS retention benchmarks: How does your business stack up? | TechCrunch

Technical Parameters and Application Port Matrix



Application Default Container Port Config Volume Path Primary Function in Stack
Prowlarr 9696 /config Centralized indexer proxy and API sync manager
Sonarr 8989 /config Automated TV series discovery and management
Radarr 7878 /config Automated movie acquisition and metadata sorting
qBittorrent 8080 /config, /data Torrent download client with web interface
Plex / Jellyfin 32400 / 8096 /config, /data Front-end media streaming and playback server

Common Site Failures and Field Fixes



  • Root Cause: Permission denied errors when Sonarr or Radarr attempt to move completed files from the download directory into the media library.

    • Actionable Fix: Ensure that all containers share identical PUID and PGID environment variables, matching the owner of the host directory, and inspect folder permissions via the terminal.
  • Root Cause: Slow file operations or double disk space utilization due to files copying instead of hardlinking.

    • Actionable Fix: Reconfigure your Docker volume mappings so that the download client and the Arr apps share the exact same container path mapping for the root data directory.
  • Root Cause: Indexer sync failures or API connection timeouts between Prowlarr and Sonarr.

    • Actionable Fix: Verify that your containers are attached to the same Docker bridge network inside CasaOS, and use the internal container name or Docker IP instead of localhost for inter-app communication.

Frequently Asked Questions



Can I run multiple instances of Radarr or Sonarr on CasaOS?

Yes, you can deploy multiple instances by modifying the container name, assigning unique host ports, and pointing each container to a separate configuration directory on your host machine. This is useful for separating standard definition content from 4K HDR releases.



How do I update my Arr stack applications inside CasaOS?

CasaOS simplifies updates through its graphical dashboard interface where you can click on any installed container, check for newer Docker image tags, and trigger an automated pull and restart without losing your configuration settings.



Why is my download client not communicating with the Arr applications?

Communication failures typically stem from incorrect port mappings, firewall restrictions, or using localhost inside Docker environment variables. Ensure you use the Docker internal network bridge IP or container name alongside the correct API key generated by the download client.



Is a VPN necessary for running an Arr stack on CasaOS?

While not strictly required to run the applications, a Virtual Private Network or proxy is highly recommended when connecting to public torrent indexers or downloading files to protect your privacy and prevent internet service provider throttling.

Take full control of your digital media ecosystem today by deploying your automated streaming infrastructure directly onto your home server.


CasaOS is an amazing, beginner-friendly way to create a private cloud

CasaOS is an amazing, beginner-friendly way to create a private cloud

Read also: How Cold Does Wellington Get in Winter? 2026 Climate Insights