summarylogtreecommitdiffstats
path: root/Readme.md
blob: a0aaa450c9fb663d299fc1b46e57c2da2165ec06 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
Sabnzbd-docker
==============

`sabnzbd-docker` is a service unit that starts `sabnzbd`, `nzbhydra2` and `sonarr` in their respective docker containers.

The services are provided as-is by linuxserver.io, direct from docker hub:
* [sabnzbd](https://hub.docker.com/r/linuxserver/sabnzbd)
* [nzbhydra2](https://hub.docker.com/r/linuxserver/nzbhydra2)
* [sonarr](https://hub.docker.com/r/linuxserver/sonarr)

This package is Arch Linux centric, but it should work on any system that uses `systemd` and `docker`.

An [Aur package](https://aur.archlinux.org/packages/sabnzbd-docker) is provided for easy installation.

## Configuration

1. Create a user config file at `~/.docker-sabnzbd.env` with the following content:

   These directories represent the paths _on the host_ where config files, logs, et al. for each service will go. They will be bound to the docker instances of each service.  

   `docker-compose.yaml` has a few other directories and paths you can set for further customisation. You only need to set up corresponding the  `*_PREFIX` paths for services you intend to use.

         SABNZBD_PATH_PREFIX   = /path/to/prefix
         NZBHYDRA2_PATH_PREFIX = /path/to/prefix
         SONARR_PATH_PREFIX    = /path/to/prefix

      <details>
      For example, you can run it with something like:
   
         cat ~/.docker-sabnzbd.env

         TZ=Europe/Madrid
         COMPOSE_PROFILES=sabnzbd,nzbhydra2                    # does not start sonarr
         
         SABNZBD_PATH_PREFIX=/data/banjo/Downloads/sabnzbd     # config and logs
         SABNZBD_PATH_DOWNLOADS=/data/banjo/Downloads          # downloads will go one level up
         
         NZBHYDRA2_PATH_PREFIX=/data/banjo/Downloads/nzbhydra2 # config, logs and everything
      </details>

2. Create the following directories (for services you choose to run):

        # Sabnzbd
        mkdir -p /path/to/prefix/sabnzbd/config      # /config
        mkdir -p /path/to/prefix/sabnzbd/temp        # /incomplete-downloads
        mkdir -p /path/to/prefix/sabnzbd/downloads   # /downloads

        # NZBHydra2
        mkdir -p /path/to/prefix/nzbhydra2/config    # /config 

        # Sonarr
        mkdir -p /path/to/prefix/sonarr/config       # /config
        mkdir -p /path/to/prefix/sonarr/tv           # /tv
        mkdir -p /path/to/prefix/sonarr/downloads    # /downloads

3. _Optional._ Defines the services to start, also in `~/.docker-sabnzbd.env`:

        COMPOSE_PROFILES=sabnzbd,nzbhydra2,sonarr # default is 'all'

4. _Optional._ Set the ports for the services in the same user config file:

        SABNZBD_PORT   = 8080
        NZBHYDRA2_PORT = 5076
        SONARR_PORT    = 8989

## Installation

      makepkg      
      pacman -U sabnzbd-docker-x.y-z-x86_64.pkg.tar.zst

or get it from the [Aur](https://aur.archlinux.org/packages/sabnzbd-docker) repository.
## Usage

      # Optional. sabnzbd-docker-update.timer pull new updates from docker hub each day
      systemctl --user --now enable sabnzbd-docker-update.timer

      systemctl --user --now enable sabnzbd-docker

Navigate to [http://localhost:8080](http://localhost:8080) to access `sabnzbd`.

Configure `sabnzbd`, `nzbhydra2` and `sonarr` to use the mapped directories defined in step 2.