Desktop App And Binaries
Every release on GitHub ships the same server in three shapes: a desktop app for macOS and Windows that adds a tray icon, and portable archives for headless use. All of them bind to 127.0.0.1 and complete the first-run setup in the browser.
| Asset | Use it for |
|---|---|
weaver-darwin-<arch>.dmg | macOS desktop app with a menu bar icon |
weaver-windows-<arch>.msi | Windows desktop app with a tray icon, the same package Winget installs |
weaver-windows-x86_64.zip | Windows without an installer |
weaver-<os>-<arch>-portable.tar.gz | Linux, macOS servers, and anything run by a service manager |
Open the DMG and drag Weaver to Applications. Release images are signed, but not every release is notarized, so the first launch may need a right-click and Open to get past Gatekeeper. After that it opens normally.
The menu bar icon starts and supervises the server on port 9090 and offers Open Weaver, Open in Browser, Start or Restart Weaver, Open Logs, and Quit Weaver. Headless Macs should use the portable archive with brew services or launchd instead. See Homebrew.
Windows
Section titled “Windows”The MSI installs under C:\Program Files and puts Weaver in the Start Menu. That shortcut starts a tray application, which runs the server for you on port 9090. There is no Windows service. The tray menu offers Open Weaver, Open in Browser, Start, Stop, and Restart Weaver, Open Logs, Start at sign-in, and Exit.
The data directory defaults to %LOCALAPPDATA%\weaver, and logs go to %LOCALAPPDATA%\weaver\logs\weaver.log. Environment variables come from the Windows environment, because the tray hands its own environment to the server it starts:
setx WEAVER_SOME_VARIABLE "value"Then exit Weaver from the tray and start it again. Avoid a .env file in the install directory: it needs an administrator to edit and a malformed file stops Weaver from starting.
The zip is the same server without the installer. Unzip it and run weaver.exe. It uses the same %LOCALAPPDATA%\weaver data directory unless a weaver.toml or weaver.db already sits next to the executable, in which case it uses that folder.
Linux And Headless
Section titled “Linux And Headless”Extract the portable archive and run the binary with a persistent config path:
./weaver --config /var/lib/weaver serve --port 9090--config accepts a directory, which becomes the data directory, or the path to a weaver.toml, whose parent becomes the data directory. serve is the default command, and --base-url /weaver hosts Weaver under a subpath. See Reverse Proxy.
A minimal systemd unit:
[Unit]Description=WeaverAfter=network-online.target
[Service]User=weaverExecStart=/opt/weaver/weaver --config /var/lib/weaver serve --port 9090Restart=on-failure# Uncomment to serve other machines. Settings → Security also works and needs no unit edit.# Environment=WEAVER_HTTP_BIND_ADDRESS=0.0.0.0
[Install]WantedBy=multi-user.targetTo serve other machines, answer “My network” in the wizard or widen the address in Settings → Security. Setting WEAVER_HTTP_BIND_ADDRESS in the unit pins it instead and makes the field read-only.
Other Commands
Section titled “Other Commands”weaver download <file.nzb>downloads one NZB without the server, with--output,--password, and--reportfor a JSON status file.weaver par2 verifyandweaver par2 repairrun Weaver’s PAR2 engine against local files.
Related
Section titled “Related”- Configuration lists every environment variable.
- Upgrading covers replacing each of these installs.
- Security And Access explains the bind address and login options.