Arrgo is a lightweight, high-performance media management tool designed to provide a modern, consolidated alternative to the existing *arr stack.
Built for Unraid from the ground up, Arrgo is optimized for home server environments that value speed, simplicity, and low resource overhead.
- Consolidated Management: Handle both movies and TV shows in one unified interface.
- Automated Workflows: Automated downloads via qBittorrent, intelligent seeding cleanup, and integrated subtitle fetching.
- Media Server Compatibility: Automatically organizes and renames files to follow Plex and Jellyfin conventions.
- Deep Metadata: Powered by TMDB and TVDB for rich posters, descriptions, and episode-level library status.
- Lightweight & Fast: Built with Go and HTMX for minimal resource usage—perfect for the Unraid ecosystem.
- Unraid First: Native PUID/PGID support, simple path mapping, and a dedicated XML template for the Community Applications store.
The easiest way to install Arrgo is via the Unraid Community Applications (CA) store.
Search for Arrgo in the "Apps" tab. The official image is hosted at justbri/arrgo_oss.
- Configure the required environment variables:
TMDB_API_KEY: TheMovieDB API KeyTVDB_API_KEY: TheTVDB API KeyDATABASE_URL: Connection string for a PostgreSQL 16 database (e.g.,postgres://user:pass@192.168.1.100:5432/arrgo)SESSION_SECRET: A random string for session locking.ADMIN_PASSWORD: Your initial login password.
- Map your Media and AppData paths.
Note
Arrgo requires a PostgreSQL 16 database. If you don't have one, we recommend the Official Postgres image from the App Store.
If you prefer managing stacks via Dockge or the Docker Compose Manager plugin:
# Clone the repository
git clone https://github.com/justbri/Arrgo_OSS.git
cd Arrgo_OSS
# Configure environment
cp .env.example .env
# Edit .env with your actual values
# Start the stack
docker-compose up -d| Variable | Description |
|---|---|
SESSION_SECRET |
Secure key for session management (generate a random string) |
DATABASE_URL |
PostgreSQL connection string |
TMDB_API_KEY |
TheMovieDB API Key |
TVDB_API_KEY |
TheTVDB API Key |
ADMIN_PASSWORD |
Initial password for the seeded admin account |
| Variable | Default | Description |
|---|---|---|
SERVER_IP |
localhost |
IP of your Unraid server (for qBittorrent links) |
PUID/PGID |
99/100 |
User/Group ID for file permissions (Unraid defaults) |
QBITTORRENT_URL |
http://qbittorrent:8080 |
URL for qBittorrent WebUI |
DEBUG |
false |
Set to true for verbose logging |
Arrgo's default stack includes a pre-configured qBittorrent VPN container (based on binhex/arch-qbittorrentvpn) optimized for Private Internet Access.
- Download PIA OpenVPN configs:
wget https://www.privateinternetaccess.com/openvpn/openvpn.zip mkdir -p ./config/qbittorrent/openvpn unzip openvpn.zip -d ./config/qbittorrent/openvpn/
- Clean up: Remove any non-PIA
.ovpnfiles. - Credentials: Set
PIA_USERandPIA_PASSWORDin your.env.
- Media Shares: Always map your root media share (e.g.,
/mnt/user/media) to the container's/datapath for optimal performance and atomic moves. - Hardlinks: Arrgo supports hardlinking if your downloads and media library share the same Unraid share and Docker volume mapping.
If you are developing or testing updates on an SMB share and changes aren't reflecting, increment the BUILD_VERSION in your docker-compose.yml (or App configuration) to force a fresh Docker layer build.
- Basic Login & Authentication (bcrypt)
- Unified Search (Local + TMDB/TVDB)
- Library Scanner & Auto-renaming
- Show/Season/Episode Support
- Subtitle Management (OpenSubtitles)
- qBittorrent Integration & Automation
- Advanced Library Filtering & Bulk Actions
Distributed under the MIT License. See LICENSE for more information.