Compose Install
- Copy the example docker-compose.yml from the repo or generate one.
- Update the docker-compose.yml file with your environment variable values for your installation.
- Remove variables you did not change; the defaults are found on the Configuration page.
- Again, remove the variables you don't set or change. You can always add them back later.
- Do not quote variable values, this isn't bash.
- Then start it, like this:
docker-compose up -d
Here's an example minimal compose file. This works well, and all the defaults should work for you too.
The user:
parameter controls
the uid and gid that the app runs as. The default is root if you don't include it, but you should definitely
include it, and set it correctly for your environment.
Read the Permissions section on the Docker page for more details.
Find your time zone TZ
identifier here,
and set TZ
too so logs have the correct time stamp for you.
services:
unpackerr:
image: golift/unpackerr
container_name: unpackerr
volumes:
- /mnt/storage/downloads:/downloads
restart: always
user: 1001:100
environment:
- TZ=America/New_York
- UN_LOG_FILE=/downloads/unpackerr.log
- UN_SONARR_0_URL=http://sonarr:8989
- UN_SONARR_0_API_KEY=32coolcatcharacters
- UN_RADARR_0_URL=http://radarr:7878
- UN_RADARR_0_API_KEY=32coolkatcharacters
And if you're trying to watch a folder, add this environment:
variable with your folder path:
- UN_FOLDER_0_PATH=/downloads/autoxtract
Data Mount
The /data
or /downloads
mount you use for Starr apps should be set the same for Unpackerr.
Using the same mount path keeps consistency and makes troubleshooting Unpackerr easier.
Most importantly, it allows Unpackerr to find your files.
This means that if you mount /mnt/storage/downloads:/downloads
on your Starr apps you should
also mount /mnt/storage/downloads:/downloads
on your Unpackerr container. If you mount
/mnt/user/data:/data
on your Starr apps, mount the same path on Unpackerr.
Make sure Unpackerr can find the downloads in the same place that Sonarr and Radarr find them.
This is the most important part. Look at your download client (like Qbit), Sonarr and Radarr in your
existing compose or docker run commands; look for volumes:
or docker run -v
.
One of these volumes is your download mount. It's usually /data
or /downloads
and looks like this:
docker run -v /mnt/storage/downloads:/downloads
or
volumes:
- /mnt/storage/downloads:/downloads
Simply copy the downloads storage volume from your Starr apps or download client to Unpackerr.
Log File
Set a log file. You'll need it to figure out what Unpackerr did. Put it in your download location. Example:
environment:
- UN_LOG_FILE=/downloads/unpackerr.log
Replace /downloads/unpackerr.log
with /data/unpackerr.log
if you mounted /data
in volumes:
.
Or whatever download path you mounted; just put it there for ease of finding it.
More Notes
Do not include this in your compose. It will make Unpackerr not work properly. If you know how to adjust caps, go for it, but please don't ask for help without removing this first:
security_opt:
- no-new-privileges:true
Config File
You may also use a config file with or instead of environment variables. This section is optional and generally not recommended for compose users.
When you start Unpackerr in Docker it checks for a /config
directory. If one exists, and there is
no unpackerr.conf
file within it, a brand new file is written with all default values. We still
recommend using the generator to build yourself a new file.
Replace the file or contents with those from the generator and restart the container.
- Copy the example config file from the repo, or generate one.
- Then grab the image from DockerHub or GHCR.
- Run the image using a
volume
mount for the config file's directory. - The config file must be located at
/config/unpackerr.conf
. - Recommend bind-mounting
/config
volume as an app-data directory. Example Follows.
volumes:
- /mnt/appdata/unpackerr:/config
You should have a volume like the one above. It must end with :/config
.
Put the unpackerr.conf
file in the folder on the left side,
or edit the file unpackerr writes after you start it.