Storage Layout
Weaver keeps three directories apart: durable state, in-progress work, and finished output. Decide where each lives before the first real job, because the data directory is hard to move later and the other two shape every job’s disk traffic.
The Three Directories
Section titled “The Three Directories”| Directory | Holds | Default |
|---|---|---|
| Data | Database, stored NZBs, API keys, RSS state, scripts, internal state | /config in Docker, %LOCALAPPDATA%\weaver on Windows, the --config path elsewhere |
| Intermediate | Each job’s in-progress download and repair work | <data>/intermediate |
| Complete | Finished output, under a category subfolder when set | <data>/complete |
Set the intermediate and complete directories in Settings → General. In Docker, seed them with WEAVER_INTERMEDIATE_DIR and WEAVER_COMPLETE_DIR before the first start. Those variables are ignored once a value is stored. Set the complete directory explicitly in every container, or finished downloads land inside the config volume.
Keep Intermediate And Complete On One Filesystem
Section titled “Keep Intermediate And Complete On One Filesystem”The move to the complete directory is a rename when both directories share a filesystem and a full copy when they do not. In Docker every volumes: entry is its own filesystem, so mount one parent and use subdirectories:
environment: WEAVER_INTERMEDIATE_DIR: /downloads/intermediate WEAVER_COMPLETE_DIR: /downloads/complete volumes: - weaver-config:/config - /mnt/storage/downloads:/downloadsDirect store changes the calculation for slow storage. With completed downloads on a NAS, direct store assembles the output at its final destination during the download, so the payload crosses the link once and there is no move step. See Direct Store.
Sharing A Mount With Scryer
Section titled “Sharing A Mount With Scryer”Scryer imports from Weaver’s complete directory. Give both containers the same host path at the same container path so Scryer can hard-link instead of copy:
services: scryer: volumes: - scryer-config:/config - /mnt/storage:/data weaver: environment: WEAVER_INTERMEDIATE_DIR: /data/intermediate WEAVER_COMPLETE_DIR: /data/downloads volumes: - weaver-config:/config - /mnt/storage:/dataScryer’s Library Layout explains the one-mount rule from its side.
Categories
Section titled “Categories”A category can override its destination. Leave the field blank and its jobs land in <complete>/<name>/. Aliases with * and ? let RSS, the watch folder, and API clients name the category loosely. See Category.
Destination overrides outside the complete directory are legal, but a restore onto a machine without those paths asks you to remap them. See Backup And Restore.
Other Paths
Section titled “Other Paths”- Scripts live in
<data>/scripts. See Post-Processing Scripts. - Watch folder is any local folder Weaver can read and rename files in. See RSS And Watch Folder.
- Logs on Windows go to
%LOCALAPPDATA%\weaver\logs\weaver.log. Elsewhere setWEAVER_LOG_FILE. - System Info in the left navigation shows the filesystem, storage class, and free space behind every configured path.
Related
Section titled “Related”- Pipeline And Storage defines each directory.
- Docker has the full compose example.
- Configuration lists the storage seeds and the container runtime variables.