- Dockerfile: alpine 3.21 → 3.22 (fewer CVEs per Docker Scout) - release.yml: actions/checkout v4→v6, setup-go v5→v6, setup-buildx v3→v4 - ci.yml: golangci-lint v2.11.3 → v2.11.4 - DOCKERHUB.md: update Alpine version reference
130 lines
3.1 KiB
Markdown
130 lines
3.1 KiB
Markdown
# unarr
|
|
|
|
Powerful terminal tool for torrent search and management. Search 30+ sources, inspect quality, discover popular content, find streaming providers, and manage downloads — all from your terminal.
|
|
|
|
**[GitHub](https://github.com/torrentclaw/unarr)** | **[Documentation](https://github.com/torrentclaw/unarr#readme)** | **[Releases](https://github.com/torrentclaw/unarr/releases)**
|
|
|
|
## Quick Start
|
|
|
|
### 1. Setup (interactive wizard)
|
|
|
|
```bash
|
|
docker run -it --rm \
|
|
-v ~/.config/unarr:/config \
|
|
torrentclaw/unarr setup
|
|
```
|
|
|
|
### 2. Run the daemon
|
|
|
|
```bash
|
|
docker run -d --name unarr \
|
|
--restart unless-stopped \
|
|
--network host \
|
|
--read-only --memory 512m \
|
|
-v ~/.config/unarr:/config \
|
|
-v ~/Media:/downloads \
|
|
torrentclaw/unarr
|
|
```
|
|
|
|
## Docker Compose
|
|
|
|
```yaml
|
|
services:
|
|
unarr:
|
|
image: torrentclaw/unarr:latest
|
|
container_name: unarr
|
|
restart: unless-stopped
|
|
user: "1000:1000"
|
|
read_only: true
|
|
tmpfs:
|
|
- /tmp:size=64m,mode=1777
|
|
volumes:
|
|
- ./config:/config
|
|
- ~/Media:/downloads
|
|
- unarr-data:/data
|
|
environment:
|
|
- TZ=UTC
|
|
# - UNARR_API_KEY=tc_your_key_here
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 512M
|
|
cpus: "2.0"
|
|
network_mode: host
|
|
|
|
volumes:
|
|
unarr-data:
|
|
```
|
|
|
|
## Volumes
|
|
|
|
| Path | Purpose |
|
|
|------|---------|
|
|
| `/config` | Configuration file (`config.toml`) |
|
|
| `/downloads` | Finished media downloads |
|
|
| `/data` | Internal state: torrent metadata, cache |
|
|
|
|
## Environment Variables
|
|
|
|
| Variable | Description | Default |
|
|
|----------|-------------|---------|
|
|
| `TZ` | Timezone | `UTC` |
|
|
| `UNARR_API_KEY` | TorrentClaw API key | from config |
|
|
| `UNARR_API_URL` | API endpoint | `https://torrentclaw.com` |
|
|
| `UNARR_DOWNLOAD_DIR` | Download directory | `/downloads` |
|
|
| `UNARR_CONFIG_DIR` | Config directory | `/config` |
|
|
| `UNARR_COUNTRY` | Country code (ISO 3166) | `US` |
|
|
|
|
## Networking
|
|
|
|
**Host mode** (recommended) gives full P2P performance with no port management:
|
|
|
|
```yaml
|
|
network_mode: host
|
|
```
|
|
|
|
**Bridge mode** — more isolated, but requires explicit ports:
|
|
|
|
```yaml
|
|
ports:
|
|
- "6881-6889:6881-6889/tcp"
|
|
- "6881-6889:6881-6889/udp"
|
|
```
|
|
|
|
## Running Commands
|
|
|
|
Use `docker exec` for one-off commands while the daemon is running:
|
|
|
|
```bash
|
|
docker exec unarr unarr search "inception" --quality 1080p
|
|
docker exec unarr unarr popular --limit 10
|
|
docker exec unarr unarr status
|
|
docker exec unarr unarr doctor
|
|
```
|
|
|
|
## Supported Architectures
|
|
|
|
| Architecture | Tag |
|
|
|-------------|-----|
|
|
| `linux/amd64` | `latest`, `0.3`, `0.3.5` |
|
|
| `linux/arm64` | `latest`, `0.3`, `0.3.5` |
|
|
|
|
## Tags
|
|
|
|
| Tag | Description |
|
|
|-----|-------------|
|
|
| `latest` | Latest stable release |
|
|
| `X.Y.Z` | Specific version (e.g. `0.3.5`) |
|
|
| `X.Y` | Latest patch for minor version (e.g. `0.3`) |
|
|
|
|
## Image Details
|
|
|
|
- **Base image:** Alpine 3.22
|
|
- **User:** `unarr` (UID 1000, GID 1000)
|
|
- **Entrypoint:** `unarr start` (daemon mode)
|
|
- **Read-only filesystem** — only mounted volumes are writable
|
|
- **No root required** — runs as non-root by default
|
|
|
|
## License
|
|
|
|
MIT License — see [LICENSE](https://github.com/torrentclaw/unarr/blob/main/LICENSE) for details.
|