Skip to content

feat: WiFi onboarding via balena wifi-connect#2

Open
reneaaron wants to merge 1 commit into
masterfrom
feat/wifi-connect-onboarding
Open

feat: WiFi onboarding via balena wifi-connect#2
reneaaron wants to merge 1 commit into
masterfrom
feat/wifi-connect-onboarding

Conversation

@reneaaron

Copy link
Copy Markdown
Member

Alternative onboarding approach to #1 (bumi/hub-os-config), branched off master so the two can be compared directly.

Approach

Uses balena wifi-connect — the de-facto-standard first-boot WiFi captive portal for headless Linux — instead of a bespoke, build-from-source Go service.

  • Pinned prebuilt release (v4.11.84) + UI bundle, downloaded and checksum-verified in the chroot (same reproducible pattern as the Alby Hub binary). No CI cross-compile step — balena ships arm64 binaries.
  • wifi-connect.service is a blocking oneshot ordered Before=albyhub.service: it serves the albyhub-setup portal on :80 only when offline and exits once WiFi is configured, so the hub cleanly takes :80 afterward. No separate :80 wait-gate needed.
  • WiFi-only by design — every hub setting is configured in Alby Hub's own onboarding UI once online (the three env keys bumi's "Advanced" section exposed are all reachable there).
  • Keeps the baked WiFi regdom (ALBYHUB_WIFI_COUNTRY=US) — AP mode needs one and wifi-connect sets none.
  • Includes the albyhub.local hostname fix (BASE_OVERRIDE_HOSTNAME).

vs #1 (bumi/hub-os-config)

#1 bumi this PR wifi-connect
Binary build-from-source, untagged commit, CI Go step pinned prebuilt release, verified in chroot
Scope WiFi + 3 hub .env keys WiFi only
Post-setup reboots exits, hub starts
Maintenance bespoke, self-owned upstream, battle-tested

Not yet done

Closes nothing — this is a candidate to potentially supersede #1.

Alternative to the bumi/hub-os-config captive portal (PR #1), using the
de-facto-standard first-boot WiFi provisioning tool instead of a bespoke
build-from-source binary.

- Pinned wifi-connect release (v4.11.84) + UI bundle, downloaded and
  checksum-verified in the chroot — same reproducible pattern as the Alby Hub
  binary, and no CI cross-compile step (balena ships prebuilt arm64 binaries).
- wifi-connect.service runs as a blocking oneshot ordered Before=albyhub.service:
  it serves the "albyhub-setup" portal on :80 only when offline and exits once
  WiFi is set, so the hub cleanly takes :80 afterward — no separate wait gate.
- WiFi-only by design; all hub settings are configured in Alby Hub's own
  onboarding UI once online.
- Keeps the baked WiFi regdom (AP mode needs one; wifi-connect sets none).
- Includes the albyhub.local hostname fix (BASE_OVERRIDE_HOSTNAME).
@reneaaron
reneaaron marked this pull request as ready for review July 8, 2026 15:15
@reneaaron reneaaron changed the title feat: WiFi onboarding via balena wifi-connect (alternative to #1) feat: WiFi onboarding via balena wifi-connect Jul 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant