From 684117c16592b334d06a494ca4b8f738c588b70b Mon Sep 17 00:00:00 2001 From: David Newhall II Date: Wed, 10 Jul 2024 23:29:25 -0700 Subject: [PATCH] update docker docs --- docs/install/choosemethod.md | 41 +++++++++++++----------------------- docs/install/docker.md | 24 ++++++++++++++++++++- 2 files changed, 38 insertions(+), 27 deletions(-) diff --git a/docs/install/choosemethod.md b/docs/install/choosemethod.md index fb6aa42..6b72087 100644 --- a/docs/install/choosemethod.md +++ b/docs/install/choosemethod.md @@ -6,42 +6,31 @@ pagination_next: null description: Choose an Unpackerr install method. --- -It's generally recommended to install Unpackerr the same way you installed your -Starr or download apps. If your existing infrastructure exists in Docker, then -Unpackerr should probably live in Docker too. +We recommended to installing Unpackerr the same way you installed your +Starr or download apps. If your existing infrastructure exists in Docker, +then Unpackerr should probably live in Docker too. If you're using the **Folder Watch** feature, then we recommend installing Unpackerr native (not Docker) on the server where the files-to-be-extracted -reside. - -:::caution Docker Folder Watcher -The Folder Watch feature uses `inotify` (a.k.a. `fsnotify`) to identify -changes to the folder. A folder-poller is automatically started when run in -Docker because `inotify` is unreliable. - -Watching folders in Docker will cause Unpackerr to constantly poll the -watched-folder for changes. Unpackerr cannot determine when a download is -finished downloading while running in Docker because `inotify` is not reliable. -Make sure to set the `start_delay` high enough to avoid beginning extractions -while files are still being downloaded. - -**Alternatively, run Unpackerr as a native service instead of in Docker.** -::: +reside. Read more about that on the [Docker page](docker#folder-watcher). ## Instructions Available -:::tip CPU Hog -Unpackerr uses a lot CPU, and tends not to work well when running on smaller systems like Synology NAS devices. -Running Unpackerr on a system with a large CPU is ideal to avoid system performance degradation. -::: - -- [Docker](/docs/install/docker): [Compose](/docs/install/compose), [unRAID](/docs/install/unraid), - [TrueNAS Scale](/docs/install/truenas-scale) +- [Docker](/docs/install/docker): [Compose](/docs/install/compose), + [unRAID](/docs/install/unraid), [TrueNAS Scale](/docs/install/truenas-scale) - [FreeBSD](/docs/install/freebsd) -- [Linux: with root](/docs/install/linux), [without root (seedbox)](/docs/install/seedbox) +- [Linux: with root](/docs/install/linux), [without root / seedbox](/docs/install/seedbox) - [macOS](/docs/install/macos) - [Windows](/docs/install/windows) +:::tip CPU Hog +Unpackerr uses a lot CPU while extracting, and tends not to work well when +running on smaller systems like Synology NAS devices. Running Unpackerr on +a system with a large CPU is ideal to avoid system performance degradation. +The application uses only a few CPU cycles at idle to poll Starr apps and/or +watch folders. +::: + --- ## Other Guides diff --git a/docs/install/docker.md b/docs/install/docker.md index 4390262..f0c1cb4 100644 --- a/docs/install/docker.md +++ b/docs/install/docker.md @@ -33,7 +33,7 @@ also mount `/mnt/storage/downloads:/downloads` on your Unpackerr container. If y **Make sure Unpackerr can find the downloads in the same place that Sonarr and Radarr find them.** ::: -## Docker Example with config file +## Example with config file - Copy the [example config file](https://github.com/Unpackerr/unpackerr/blob/main/examples/unpackerr.conf.example) from the repo, or [generate one](https://notifiarr.com/unpackerr.php). @@ -67,6 +67,12 @@ Make sure to set the correct uid and gid with the `--user` parameter. Example: docker run --user 1000:100 -d -v /mnt/data:/data -v /mnt/config:/config golift/unpackerr ``` +**Replace 1000:100 with the correct uid:gid for your environment.** +One of them must provide write access to your archives. + +When using compose, add `user: 1000:100` to the service definition. +Find examples in the [Docker Compose instruction](compose). + ### Hotio The primary difference between the golift and hotio containers is how you set the uid and gid. @@ -78,3 +84,19 @@ Pass the `PUID` and `PGID` environment variables when using hotio's container. E # This commands runs hotio/unpackerr with UID 1000 and GID 100. docker run -e PUID=1000 -e PGID=100 -d -v /mnt/data:/data -v /mnt/config:/config hotio/unpackerr ``` + +## Folder Watcher + +Watching folders in Docker will cause Unpackerr to constantly poll the +watched-folder for changes at a default rate of `1s` (1 second). + +The Folder Watch feature uses `inotify` (a.k.a. `fsnotify`) to identify +changes to the watched folder. A folder-poller is automatically started when +run in Docker because `inotify` is unreliable. Disable the folder poller +(and rely on `inotify` only) by setting `folders.interval` to `1ms`. + +If Unpackerr has trouble determining when downloads are finished, set +`start_delay` high enough to avoid beginning extracting files that are +still being transferred. + +**Alternatively, run Unpackerr as a native service instead of in Docker.**