Installation
Get Huntarr running on Docker, Unraid, Windows, macOS, or Linux.
Requirements
- Docker and Docker Compose (recommended for all platforms)
- OR Python 3.10+ for running from source
- 512 MB RAM minimum, 1 GB recommended
- Network access to your *arr instances (Sonarr, Radarr, etc.)
- A modern web browser for the Huntarr UI
Docker Installation (Recommended)
Docker is the recommended way to run Huntarr on any platform. It works on Linux, macOS, Windows, and Unraid.
Docker Compose
Create a docker-compose.yml file:
services:
huntarr:
image: huntarr/huntarr:latest
container_name: huntarr
ports:
- "9705:9705"
volumes:
- /path/to/huntarr/config:/config
- /path/to/media:/media
environment:
- TZ=America/New_York
restart: unless-stopped
Then start it:
docker-compose up -d
Docker Run
If you prefer a single command without Compose:
docker run -d \
--name huntarr \
-p 9705:9705 \
-v /path/to/huntarr/config:/config \
-v /path/to/media:/media \
-e TZ=America/New_York \
--restart unless-stopped \
huntarr/huntarr:latest
Volume Mappings
| Container Path | Purpose | Required |
|---|---|---|
/config | Huntarr configuration, database, and logs | Yes |
/media | Your media library (for Movie Hunt / NZB Hunt) | If using Media Hunt |
/downloads | Download directory (for NZB Hunt) | If using NZB Hunt |
huntarr/huntarr:latest for the newest features (updates frequently), or pin to a specific version like huntarr/huntarr:9.3.0 for stability.
Unraid Installation
Huntarr is available through Unraid Community Applications, making installation a one-click process.
Steps
- Open the Unraid web UI and go to the Apps tab (Community Applications).
- Search for "Huntarr".
- Click Install on the Huntarr template.
- Review the template settings:
- Port: 9705 (default)
- Config path:
/mnt/user/appdata/huntarr - Media path: Map to your media share (e.g.,
/mnt/user/media) - Timezone: Set to your local timezone
- Click Apply to start the container.
- Access Huntarr at
http://your-unraid-ip:9705.
Windows Installation
Option 1: Docker Desktop (Recommended)
- Install Docker Desktop for Windows.
- Enable WSL 2 backend during installation (recommended by Docker).
- Open a terminal (PowerShell or Command Prompt) and run:
docker run -d --name huntarr -p 9705:9705 -v huntarr-config:/config -e TZ=America/New_York --restart unless-stopped huntarr/huntarr:latest
Access Huntarr at http://localhost:9705.
Option 2: Run from Source
- Install Python 3.10+ (check "Add to PATH" during install).
- Install Git for Windows.
- Open PowerShell and run:
git clone https://github.com/plexguide/Huntarr.io.git
cd Huntarr.io
pip install -r requirements.txt
python main.py
Access Huntarr at http://localhost:9705.
macOS Installation
Option 1: Docker Desktop (Recommended)
- Install Docker Desktop for Mac.
- Open Terminal and run:
docker run -d --name huntarr -p 9705:9705 -v huntarr-config:/config -e TZ=America/New_York --restart unless-stopped huntarr/huntarr:latest
Option 2: Run from Source
- Install Python 3.10+ via Homebrew:
brew install python@3.12 git
git clone https://github.com/plexguide/Huntarr.io.git
cd Huntarr.io
pip3 install -r requirements.txt
python3 main.py
Access Huntarr at http://localhost:9705.
Linux Installation
Option 1: Docker (Recommended)
Install Docker if you haven't already:
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
Then run Huntarr:
docker run -d \
--name huntarr \
-p 9705:9705 \
-v /opt/huntarr/config:/config \
-v /media:/media \
-e TZ=America/New_York \
--restart unless-stopped \
huntarr/huntarr:latest
Option 2: Run from Source with systemd
sudo apt update && sudo apt install -y python3 python3-pip git
git clone https://github.com/plexguide/Huntarr.io.git /opt/huntarr
cd /opt/huntarr
pip3 install -r requirements.txt
python3 main.py
To run as a service, create /etc/systemd/system/huntarr.service:
[Unit]
Description=Huntarr Media Hunter
After=network.target
[Service]
Type=simple
User=huntarr
WorkingDirectory=/opt/huntarr
ExecStart=/usr/bin/python3 /opt/huntarr/main.py
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now huntarr
Alternative Methods
LXC Containers (Proxmox)
You can run Huntarr inside an LXC container by installing Docker within the container or running from source. Use the Linux instructions above inside your LXC.
Kubernetes / Helm
Community-maintained Helm charts may be available. The Docker image huntarr/huntarr:latest works with any Kubernetes deployment. Key configuration:
- Container port:
9705 - Persistent volume for
/config - Environment variable
TZfor timezone
Environment Variables
| Variable | Default | Description |
|---|---|---|
TZ | UTC | Timezone for scheduling and logs (e.g., America/New_York) |
HUNTARR_PORT | 9705 | Web UI port inside the container |
HUNTARR_LOG_LEVEL | INFO | Log verbosity: DEBUG, INFO, WARNING, ERROR |
Updating Huntarr
Docker (latest tag)
docker pull huntarr/huntarr:latest
docker stop huntarr
docker rm huntarr
# Re-run your docker run command or docker-compose up -d
Docker Compose
docker-compose pull
docker-compose up -d
Unraid
Unraid will notify you of available updates. Click Update on the Huntarr container to pull the latest image.
From Source
cd /path/to/Huntarr.io
git pull
pip3 install -r requirements.txt
# Restart the application
huntarr/huntarr:9.3.0) instead of :latest. Check GitHub Releases for available versions.
Post-Installation
After installation, open http://your-server:9705 in your browser. You'll be greeted by the Setup Wizard which guides you through initial configuration.
Troubleshooting
If port 9705 is already in use, change the host port mapping (e.g., -p 9706:9705 in Docker, or set HUNTARR_PORT for source installs).
Ensure the /config volume path is writable. On Linux, check ownership: sudo chown -R 1000:1000 /path/to/config.
Verify network connectivity between Huntarr and your *arr instances. In Docker, ensure containers are on the same network or use host networking. Use the container name as hostname when apps are on the same Docker network.
Check logs with docker logs huntarr. Common issues include invalid timezone strings, missing volume paths, or port conflicts.