Repository navigation
Commons Node View 0.2.0: guided setup, managed node, Umbrel single app - #1
Merged
Merged
Conversation
The console can now set up and run the node itself instead of only watching one. - releases/installer: list the official BLVM node releases on GitHub, download the binary for this platform and check it against the release's checksums.sha256 (rustls with bundled roots, no OpenSSL) before it is put in place. - managed/agent/agent_daemon/control/switch: a managed node that the console starts, stops, restarts and moves to another network; an "agent" subcommand that runs the node in its own container for the Umbrel app; RPC login that is generated once and kept (mode 0600), with a check that the node really refuses callers without it. - settings/persist/fsutil/signals/procinfo/networks: settings and state kept across restarts with atomic writes, clean shutdown on SIGTERM, process information. - http: new /api routes for setup, node control, updates and modules; Host and Origin checks (LAN names need BLVM_UI_ALLOWED_HOSTS); standalone mode is unchanged. - version 0.2.0. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
- Setup walkthrough: pick a network, download the node with progress through four steps, start it. - Settings: node card (start/stop/restart), network card with a confirm dialog before switching, updates card, modules card (view only), log tail. - Rename of the console to Commons Node View in the page and the UI text. - Typed API client and status store extended for the new routes. - Mock host (web/mock) gains the managed scenarios so every button works for the screenshots; version 0.2.0. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The same image runs the console and, with "blvm-ui-next agent --root /data", the node. The node binary is not in the image: the setup downloads and verifies it. Runtime moves to Ubuntu 24.04 (the official node release needs glibc 2.39), runs as UID 1000, adds curl for a HEALTHCHECK, and sets CC for cross builds. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
README rewritten for the guided setup, managed node, Docker and Umbrel use, environment variables and the security checks. New screenshots for setup, settings (managed, standalone, switch dialog, updates, modules) and logs; the older images are retaken under the new name. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Collaborator
Author
|
Store PR (merge after this one and after the image is published): BTCDecoded/commons-umbrel-store#1 |
…ed open nodes with a password, stop test leaks * Umbrel: the "Start the node when this app starts" switch is gone on the external agent (it restores desired.json whatever the switch says); the card keeps one line of help. README says so. * Desktop upgrade: a node adopted from before logins that still answers without a password is restarted once with the generated (now saved) login instead of being stopped with the wrong message. The card and the log say "Restarted the node to turn on its RPC password." The safety net still stops a node that should have a login. * Safety check: only an explicit 401/403 counts as locked; a dropped connection or timeout is asked again later. * A start without a login removes a stale blvm.toml from the network folder (the node reads it from its cwd). * Tests: nodes started by tests are killed when the fixture goes (also on a failed assertion) and when the test program ends, the stand-in nodes exit when their parent dies, ports are free loopback ports, the logging test no longer depends on a thread-local subscriber. * README: note on the node's misleading "RPC authentication is required but no tokens" log line. * Setup.svelte: chainLabel accepts null (svelte-check). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Collaborator
Author
|
Follow-up commit 5facc2b (fixes from the second review):
|
Scrypty
marked this pull request as ready for review
October 13, 2026 21:38
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this is
Commons Node View 0.2.0. Until now the console only watched a node that someone else started. With this change it can also set up and run the node: a short guided setup picks a network, downloads the official BLVM node release from GitHub, checks it against the release's
checksums.sha256, and starts it. The same image also runs as the node's own container in a two-container Umbrel app (store PR: see below).Features
agentsubcommand (blvm-ui-next agent --root /data) that runs the node in its own container.How it was tested
cargo build --release --lockedandcd web && npm ci && npm run buildboth succeed.compose restart; clean stop in 28 s. Umbrel lint is clean except the twoimage.pinnedplaceholders (they are filled after this image is published).ui-managed-node-design.md,u01-review-REVIEW.md,cnv-stage1-review.md).Not in this PR
Breaking or behaviour changes
BLVM_UI_ALLOWED_HOSTS(the Umbrel app's compose file sets it).blvm-bundle.tomlmarker file next to the binary tells the console that a bundled node program exists and enables the setup flow (see README).Merge order
Merge this PR first. Note that the workflow publishes
:0.2.0only on av0.2.0tag (a push tomainpublishes:mainand:sha-...), so tagv0.2.0after merging. Then the store PR can pin the digest ofghcr.io/btcdecoded/blvm-ui:0.2.0.Store PR: BTCDecoded/blvm-umbrel-store (linked in a comment once opened).
Screenshots
🤖 Generated with Claude Code