14-page documentation site covering installation, quick start, full config reference, Sonarr/Radarr/qBittorrent/Tdarr integrations, ffmpeg/HandBrake transcoder setup, SSH transcode workers, disc format reference, and troubleshooting. Stack: mkdocs-material 9.x (MIT), pinned <10 to avoid 2.0 licence wall.
110 lines
3.1 KiB
Markdown
110 lines
3.1 KiB
Markdown
# Installation
|
|
|
|
## Native installer (recommended)
|
|
|
|
The installer handles Node.js, ffmpeg, HandBrake CLI, and DVD libraries automatically.
|
|
|
|
**Supported platforms:** Ubuntu/Debian (apt), Fedora/RHEL (dnf), Arch Linux (pacman), macOS (brew)
|
|
|
|
```bash
|
|
git clone https://git.opensourcesolarpunk.com/Circuit-Forge/discarr
|
|
cd discarr
|
|
sudo bash install.sh
|
|
```
|
|
|
|
The installer will ask whether to register a systemd service.
|
|
|
|
### Installer options
|
|
|
|
Override defaults with environment variables:
|
|
|
|
```bash
|
|
sudo DISCARR_INSTALL_DIR=/opt/discarr \
|
|
DISCARR_PORT=8603 \
|
|
REGISTER_SERVICE=yes \
|
|
bash install.sh
|
|
```
|
|
|
|
| Variable | Default | Description |
|
|
|---|---|---|
|
|
| `DISCARR_INSTALL_DIR` | `/opt/discarr` | Where to install app files |
|
|
| `DISCARR_USER` | `discarr` | System user for the service |
|
|
| `DISCARR_PORT` | `8603` | Web UI port |
|
|
| `REGISTER_SERVICE` | `ask` | `ask`, `yes`, or `no` |
|
|
| `SKIP_DEPS` | `0` | Set to `1` to skip system dep installation |
|
|
|
|
### What gets installed
|
|
|
|
| Dependency | apt | dnf | pacman | brew |
|
|
|---|---|---|---|---|
|
|
| Node.js 20 LTS | NodeSource | NodeSource | nodejs | node@20 |
|
|
| ffmpeg + ffprobe | ffmpeg | ffmpeg (RPM Fusion) | ffmpeg | ffmpeg |
|
|
| HandBrake CLI | handbrake-cli | HandBrake-cli | handbrake-cli | handbrake |
|
|
| libdvdcss | libdvd-pkg | libdvdcss (RPM Fusion) | libdvdcss | libdvdcss |
|
|
| libdvdread | libdvdread8 | libdvdread | libdvdread | — |
|
|
| libdvdnav | libdvdnav4 | libdvdnav | libdvdnav | — |
|
|
|
|
!!! note "libdvdcss on Ubuntu"
|
|
Ubuntu's `libdvd-pkg` builds libdvdcss from source using `dpkg-reconfigure`. The installer handles this automatically. Legal in most jurisdictions for personal use.
|
|
|
|
!!! note "HandBrake on Fedora"
|
|
Requires RPM Fusion. The installer enables it automatically when installing ffmpeg — HandBrake installs from the same repo.
|
|
|
|
---
|
|
|
|
## Docker
|
|
|
|
Pre-built image — includes ffmpeg, ffprobe, HandBrake CLI, libdvd* libraries, and openssh-client:
|
|
|
|
```bash
|
|
docker run -d \
|
|
--name discarr \
|
|
-p 8603:8603 \
|
|
-v ~/.config/media-postprocessor:/root/.config/media-postprocessor:ro \
|
|
-v ~/.local/share/discarr:/root/.local/share/discarr \
|
|
-v /path/to/media:/media \
|
|
pyr0ball/discarr:latest
|
|
```
|
|
|
|
### Docker Compose
|
|
|
|
```yaml
|
|
services:
|
|
discarr:
|
|
image: pyr0ball/discarr:latest
|
|
container_name: discarr
|
|
ports:
|
|
- "8603:8603"
|
|
volumes:
|
|
- ~/.config/media-postprocessor:/root/.config/media-postprocessor:ro
|
|
- discarr-data:/root/.local/share/discarr
|
|
- /path/to/media:/media
|
|
restart: unless-stopped
|
|
environment:
|
|
- PORT=8603
|
|
|
|
volumes:
|
|
discarr-data:
|
|
```
|
|
|
|
!!! warning "Media path"
|
|
The `/media` mount must be the same path that Sonarr/Radarr can also see. If your arr apps run in Docker, make sure they share the same media volume or NFS mount.
|
|
|
|
---
|
|
|
|
## Manual (from source)
|
|
|
|
Install system dependencies yourself (see table above), then:
|
|
|
|
```bash
|
|
git clone https://git.opensourcesolarpunk.com/Circuit-Forge/discarr
|
|
cd discarr
|
|
|
|
# Configure
|
|
mkdir -p ~/.config/media-postprocessor
|
|
cp api-keys.conf.example ~/.config/media-postprocessor/api-keys.conf
|
|
$EDITOR ~/.config/media-postprocessor/api-keys.conf
|
|
|
|
# Run
|
|
node server.js
|
|
```
|