@@ -14,52 +14,65 @@ Expand the blue sections to see excerpts from the
1414[ example docker-compose.yml] ( https://github.com/Unpackerr/unpackerr/blob/main/examples/docker-compose.yml )
1515and [ example config] ( https://github.com/Unpackerr/unpackerr/blob/main/examples/unpackerr.conf.example ) files.
1616
17+ ## Web UI
18+
19+ ::: danger [ Web UI]
20+
21+ - Added in v1.0.0 (October 2026).
22+
23+ Most users should use the Web UI to configure Unpackerr.
24+ While you can use this page for reference, you should avoid editing the config file.
25+
26+ - See [ Web UI page] ( web-ui ) .
27+
28+ :::
29+
30+ Unpackerr has a built in Web UI where you can configure all the settings using a validated form.
31+ The Web UI also makes it easy to see what Unpackerr is doing live and to view the extraction history.
32+ This page exists from a time when configuration required editing a file. Now it's for power users.
33+
34+ ** Use the web interface. Don't edit the config file.**
35+
1736## Config
1837
1938- Setting a log file is strongly recommended. This makes it much easier to troubleshoot problems.
2039- To use a config file in Docker, mount ` /config ` to the container and Unpackerr will write a config file.
2140 - Update the new file at ` /config/unpackerr.conf ` and restart the container.
22- - When using a config file you must uncomment at minimum the ` [[ header] ] ` <font color =" gray " >
23- ex. ` [[ radarr] ] ` </font >, ` url ` and ` api_key ` .
41+ - When using a config file you must uncomment at minimum the ` [header.key ] ` <font color =" gray " >
42+ ex. ` [radarr.radarr ] ` </font >, ` url ` and ` api_key ` .
2443- Uncomment means remove the hash ` # ` at the beginning of the line.
2544- The config file format is [ TOML] ( https://toml.io ) .
2645 - Indentation is not important like YAML files, but it's used for ease of readability.
2746 - You may use ` " ` or ` ' ` or ` ''' ` or ` """ ` to wrap strings. Recommend ` ' ` for paths.
2847
29- ### Generator
30-
31- [ Notifiarr] ( https://notifiarr.com ) hosts a configuration file maker.
32- Simply fill in a web form, and click a button to get a working config file.
33-
34- - ** Access the generator here: https://notifiarr.com/unpackerr **
35-
3648### Two+ Instances
3749
38- When adding a second (or third+) instance to the __ config file__ , you just
39- add another ` [[header]] ` <font color =" gray " >ex. ` [[ sonarr] ] ` </font > and the
40- ` url ` /` api_key ` /etc under it. When adding a second instance to the __ environment
41- variables __ , you must increment the ` 0 ` to a ` 1 ` . And to a ` 2 ` if you have 3
42- instances . There is no limit to the number of supported instances. This notation
43- works for all Starr apps, folders, command hooks, and webhooks.
50+ When adding a second (or third+) instance to the __ config file__ , use another
51+ named table <font color =" gray " >ex. ` [sonarr.0] ` , ` [sonarr.uhd ]` </font > and the
52+ ` url ` /` api_key ` /etc under it. Environment variables use that same key:
53+ ` UN_SONARR_0_URL ` or ` UN_SONARR_uhd_URL ` . Array rows from older configs load as
54+ keys ` 0 ` , ` 1 ` , … . There is no limit to the number of supported instances. This
55+ notation works for all Starr apps, folders, command hooks, and webhooks.
4456
4557<details >
4658 <summary >Config examples with multiple instances.</summary >
4759
4860- Config File example with two Radarrs and two Folders.
4961
50- ``` yaml
51- [[ radarr] ]
62+ ``` toml
63+ [radarr . 0 ]
5264 url = " http://radarr"
5365 api_key = " 32characters"
5466
55- [[radarr]]
67+ [radarr .uhd ]
68+ name = " 4K"
5669 url = " http://radarr4k"
5770 api_key = " 32morecharacters"
5871
59- [[ folder] ]
72+ [folder . 0 ]
6073 path = " /data/downloads/software/"
6174
62- [[ folder] ]
75+ [folder . games ]
6376 path = " /data/downloads/games/"
6477```
6578
@@ -68,16 +81,80 @@ works for all Starr apps, folders, command hooks, and webhooks.
6881``` shell
6982UN_RADARR_0_URL=http://radarr
7083UN_RADARR_0_API_KEY=32characters
71- UN_RADARR_1_URL =http://radarr4k
72- UN_RADARR_1_API_KEY =32morecharacters
84+ UN_RADARR_uhd_URL =http://radarr4k
85+ UN_RADARR_uhd_API_KEY =32morecharacters
7386UN_FOLDER_0_PATH=/data/downloads/software/
74- UN_FOLDER_1_PATH =/data/downloads/games/
87+ UN_FOLDER_games_PATH =/data/downloads/games/
7588```
7689
7790</details >
7891
79- Anything that [ has a header] ( https://github.com/Unpackerr/unpackerr/blob/main/examples/unpackerr.conf.example#L99 )
80- with double brackets ` [[..]] ` can be repeated as many times as you'd like.
92+ Anything that has a header like ` [sonarr.0] ` or ` [folder.software] ` can be repeated with a unique key.
93+
94+ ### Whisparr
95+
96+ - Changed in v1.0.0 (October 2026).
97+
98+ Whisparr uses the Radarr API. Configure it as ` [radarr.whisparr] ` (env ` UN_RADARR_whisparr_* ` ).
99+ Set ` name = "Whisparr" ` if logs and hooks should keep that label.
100+
101+ ### Named instances
102+
103+ - Added in v1.0.0 (October 2026).
104+
105+ Starr apps, folders, webhooks, and command hooks are identified by a short key, not by list position.
106+ In the config file use ` [sonarr.uhd] ` , ` [folder.software] ` , ` [webhook.discord] ` ; in env use ` UN_SONARR_uhd_URL ` ,
107+ ` UN_FOLDER_software_PATH ` , ` UN_WEBHOOK_discord_URL ` . The optional ` name ` on Starr and hooks is only a label
108+ (` name = "Starrs & Stripes" ` ). Existing ` [[sonarr]] ` / ` [[folder]] ` / ` [[webhook]] ` tables still load as keys
109+ ` 0 ` , ` 1 ` , …. Open that section in the web UI and click Save: Unpackerr rewrites the file to named tables automatically.
110+
111+ ### Watch folders
112+
113+ - Changed in v1.0.0 (October 2026).
114+
115+ Folder watch is not Starr. Each ` [folder.<key>] ` is a path Unpackerr extracts
116+ on its own. The generated tables below list every option.
117+
118+ ** Poll interval** is per folder (` interval ` , env ` UN_FOLDER_<key>_INTERVAL ` ).
119+ Default ` 0s ` uses filesystem events. Set ` 1s ` (or similar) on Docker and CIFS
120+ when new archives never show in the queue. Global ` folders.interval ` /
121+ ` UN_FOLDERS_INTERVAL ` is gone; leftover ` [folders] interval ` is ignored.
122+ Details: [ Docker Folder Watcher] ( docker#folder-watcher ) .
123+
124+ ** After a restart** , recent folder history returns to the live queue the same
125+ way Starr items do: EXTRACTED still waiting on ` delete_after ` , EXTRACTFAILED
126+ retries, interrupted EXTRACTING, QUEUED, and WAITING after a retry. A path
127+ you removed from config is not restored. Windows matches watch paths without
128+ regard to drive-letter case.
129+
130+ ** Incomplete downloads:** ` wait_extensions ` keeps the item WAITING while a
131+ matching file exists in that item's top folder (` .part ` , ` .crdownload ` , …).
132+ Nested paths are not scanned. The queue shows the blocking filename.
133+ Recheck is every 5s and does not enable the poller.
134+ Env: ` UN_FOLDER_<key>_WAIT_EXTENSION_0=.part ` .
135+
136+ ** Empty folders:** ` skip_empty ` (env ` UN_FOLDER_<key>_SKIP_EMPTY ` ) drops
137+ archive-free folders after ` start_delay ` with no history row and no webhook.
138+
139+ ### Lidarr cue sheets
140+
141+ Lidarr only. ` split_flac ` splits a completed download that has a CUE sheet.
142+ It splits both FLAC and APE images into one file per track, then asks Lidarr
143+ to import those tracks. Sonarr, Radarr, and Readarr ignore this setting.
144+
145+ When the image is APE, ` ape_format ` chooses the files those tracks become:
146+
147+ - ` ape ` keeps Monkey's Audio. This is the default, and an empty value means the same.
148+ - ` wav ` and ` flac ` decode the audio. FLAC cannot store 32-bit or float PCM.
149+
150+ ` ape_compression ` applies only when the format is APE. The choices are ` 1000 ` ,
151+ ` 2000 ` , ` 3000 ` , ` 4000 ` , and ` 5000 ` . A default of ` 0 ` is set to ` 2000 ` (normal).
152+ WAV and FLAC ignore compression.
153+
154+ A lone ` .ape ` file that has no cue sheet is left for Lidarr to import as-is.
155+
156+ Environment variables use the instance key: ` UN_LIDARR_<key>_SPLIT_FLAC ` ,
157+ ` UN_LIDARR_<key>_APE_FORMAT ` , and ` UN_LIDARR_<key>_APE_COMPRESSION ` .
81158
82159{/* The Global content is generated from here: https://github.com/Unpackerr/unpackerr/tree/main/init/config * /}
83160<Global />
@@ -97,8 +174,8 @@ by setting the value to `filepath:/path/to/file.txt`. In other words, if you wan
97174your Radarr API key to be read from a separate file, instead of storing it directly
98175in the config file or environment variables you can do this:
99176
100- ``` json
101- [[ radarr ] ]
177+ ``` toml
178+ [radarr . 0 ]
102179 url = " https://some.url/radarr"
103180 api_key = " filepath:/etc/secrets/radarr.txt"
104181```
0 commit comments