Weaver

Weaver

apps.detail.types.app from Weaver's Repository

apps.detail.sections.overview

Weaver is engineered to be the fastest and most secure Usenet downloader. Its native Rust core downloads NZBs, decodes articles, verifies and repairs PAR2 data, and extracts archives in one tightly integrated process. A concurrent pipeline can begin extraction while later archive volumes are still downloading, reducing handoffs, disk churn, and time to completion. Security is built in with TLS-protected provider connections, encrypted-at-rest credentials and API keys, persistent encryption-key management, optional login and scoped API access, least-privilege container support, and keyless-signed release images. Weaver also provides adaptive multi-server dispatch, global and per-server speed limits, schedules, ISP bandwidth caps, provider quotas, queue controls, real-time history and progress updates, detailed logs, Prometheus metrics, and a responsive web UI, all without requiring separate unrar or PAR2 tools.

Weaver

Weaver for Unraid

Official Unraid Community Apps template for Weaver, engineered to be the fastest and most secure Usenet downloader. Its native Rust core handles downloading, decoding, repair, and extraction in one tightly integrated application.

Why Weaver

  • Built for speed: native compiled code, adaptive multi-server dispatch, and a concurrent pipeline that can begin extraction while later archive volumes are still downloading
  • Secure by design: TLS-protected provider connections, encrypted-at-rest credentials and API keys, persistent encryption-key management, optional login and scoped API access, and support for least-privilege containers
  • One efficient process: NZB downloading, article decoding, PAR2 verification and repair, and RAR/7z extraction without separate unrar or PAR2 utilities
  • Fine-grained control: global and per-server speed limits, schedules, ISP bandwidth caps, provider quotas, queue controls, and category routing
  • Deep observability: real-time queue and history updates, detailed logs, timeline views, health reporting, and Prometheus metrics
  • Trusted distribution: first-party multi-architecture container images signed with Sigstore Cosign

Container

  • Image: ghcr.io/scryer-media/weaver:latest
  • Web UI: container port 9090
  • Persistent configuration: /config
  • Optional download storage: /downloads

Weaver creates /config/encryption.key with mode 0600 when no external key is supplied. Preserve /config; it contains Weaver's database, settings, and the key required to decrypt stored credentials.

The optional /downloads mapping is seeded as /downloads/incomplete and /downloads/complete on first startup. Those locations can subsequently be changed in Weaver's settings.

Support

Licensing

The files in this template repository are licensed under the MIT License. Weaver itself is licensed under GPL-3.0-or-later with the UnRAR source-code restriction described in the Weaver license.

apps.marketingCta.appInstallTitle

apps.marketingCta.appInstallDescription

apps.installHelp.stepOpen apps.installHelp.stepSearchApp apps.installHelp.stepReview apps.installHelp.stepInstall

apps.detail.sections.requirements

Access to a Usenet provider.

apps.detail.sections.categories

apps.detail.sections.related

apps.detail.sections.details

apps.detail.details.repository
ghcr.io/scryer-media/weaver:latest
apps.detail.details.lastUpdated2026-08-10
apps.detail.details.firstSeen2026-08-05

apps.detail.sections.runtime

apps.detail.details.webui
http://[IP]:[PORT:9090]/
apps.detail.details.network
bridge
apps.detail.details.shell
sh
apps.detail.details.privileged
false

apps.detail.sections.configuration

WebUIPorttcp

HTTP port for the Weaver web interface.

apps.detail.config.target
9090
apps.detail.config.default
9090
AppdataPathrw

Persistent database, settings, logs, and encryption key.

apps.detail.config.target
/config
apps.detail.config.default
/mnt/user/appdata/weaver
DownloadsPathrw

Download working and completed-file storage. Optional if you configure other paths in Weaver.

apps.detail.config.target
/downloads
apps.detail.config.default
/mnt/user/downloads
PUIDVariable

User ID used to own /config and run Weaver.

apps.detail.config.default
99
PGIDVariable

Group ID used to own /config and run Weaver.

apps.detail.config.default
100
TimezoneVariable

Container timezone, for example America/Denver.

apps.detail.config.target
TZ
apps.detail.config.default
Etc/UTC
UMASKVariable

Optional octal file-creation mask.

apps.detail.config.default
022
Incomplete DirectoryVariable

First-run seed for incomplete and intermediate work.

apps.detail.config.target
WEAVER_INTERMEDIATE_DIR
apps.detail.config.default
/downloads/incomplete
Complete DirectoryVariable

First-run seed for completed downloads.

apps.detail.config.target
WEAVER_COMPLETE_DIR
apps.detail.config.default
/downloads/complete
Allowed HostnamesVariable

Optional comma-separated DNS or reverse-proxy hostnames allowed by Weaver's Host validation.

apps.detail.config.target
WEAVER_HTTP_ALLOWED_HOSTS