Setup Code
The first time you open Weaver, the setup wizard creates your administrator account. When Weaver can be reached from other machines, the wizard also asks for a one-time setup code, which looks like K7P-M2X. Weaver prints that code when it starts, somewhere only the person running Weaver can read it. Anyone else on your network could open the wizard, but they can’t finish it without the code.
Do I Need One?
Section titled “Do I Need One?”It depends on the address Weaver listens on.
| Weaver listens on | Setup code |
|---|---|
127.0.0.1, the default for Homebrew, Winget, the MSI, the DMG, and the portable binaries | Not needed. Only a browser on the same machine can open the wizard. |
0.0.0.0 or a LAN address, including every Docker and Unraid install | Required |
Any address, with WEAVER_TRUSTED_PROXIES set | Required, because the proxy relays browsers from other machines |
Any address, with WEAVER_REQUIRE_SETUP_CODE=1 | Required |
If the wizard doesn’t show a Setup code field, you don’t need one.
You can type the code in upper or lower case, with or without the hyphen. It stays valid until setup finishes. Restarting Weaver replaces it with a new code, so if you lose it, restart and read the new one.
Docker
Section titled “Docker”The code goes to the container log:
docker logs weaver 2>&1 | grep "setup code"With Compose, use docker compose logs weaver instead. The full log shows the code in a box headed FIRST-TIME SETUP: ACTION REQUIRED.
To skip the wizard and the code altogether, set WEAVER_BOOTSTRAP_LOGIN_USERNAME and WEAVER_BOOTSTRAP_LOGIN_PASSWORD before the first start. See Docker.
Unraid
Section titled “Unraid”On the Docker tab, click the Weaver icon and choose Logs. The code is in the box headed FIRST-TIME SETUP: ACTION REQUIRED near the top. If the log has moved past it, restart the container and look again. The restart gives you a new code.
Homebrew
Section titled “Homebrew”A Homebrew service listens on 127.0.0.1, so it doesn’t ask for a code. If you set WEAVER_HTTP_BIND_ADDRESS in config.env, the code is in the service log:
grep "setup code" "$(brew --prefix)/var/log/weaver.log"Windows: Winget And MSI
Section titled “Windows: Winget And MSI”The tray app listens on 127.0.0.1, so it doesn’t ask for a code. If you set WEAVER_HTTP_BIND_ADDRESS in the Windows environment, the tray shows the code in a Finish Weaver setup dialog when it starts the server. Choose OK to copy the code. If you closed the dialog, choose Restart Weaver from the tray menu to get a new one.
The portable Windows zip prints the code in the console window you started weaver.exe from.
macOS Desktop App
Section titled “macOS Desktop App”As on Windows, the app listens on 127.0.0.1 and doesn’t ask for a code. If you widened the address with WEAVER_HTTP_BIND_ADDRESS, the menu bar app shows the code in a Finish Weaver setup alert. Copy code puts it on the clipboard, and Restart Weaver gets a new code.
Linux And Portable Binaries
Section titled “Linux And Portable Binaries”Run in a terminal, Weaver prints the code there. Under systemd, it goes to the journal:
journalctl -u weaver | grep "setup code"Any other service manager saves it wherever that manager keeps the process’s standard error.
JSON Logs
Section titled “JSON Logs”With WEAVER_LOG_FORMAT=json, the code arrives as a single WARN record. The setup_code field holds the code by itself:
{"level":"WARN","fields":{"message":"ACTION REQUIRED: Weaver one-time setup code: K7P-M2X. ...","setup_code":"K7P-M2X"},"target":"weaver::setup"}Where The Code Never Appears
Section titled “Where The Code Never Appears”Weaver doesn’t write the code to the Logs page, to WEAVER_LOG_FILE, or to any web request. It only goes to the console output that whoever runs Weaver controls. If the code isn’t in a log file you expected to find it in, check the console or service output instead.
Behind A Reverse Proxy
Section titled “Behind A Reverse Proxy”If a reverse proxy runs on the same machine as a Weaver that listens on 127.0.0.1, name the proxy in WEAVER_TRUSTED_PROXIES. Setup then asks for the code, as it would for any other remote browser. Without that setting, Weaver refuses setup requests the proxy relays, and asks you to finish setup in a browser on the machine Weaver runs on. See Reverse Proxy.
Too Many Attempts
Section titled “Too Many Attempts”After five wrong codes in a minute, Weaver pauses setup attempts for a minute. Wait, then enter the code again.