Skip to content

feat(relay): one-click self-hosted relay deploy wizard - #1631

Merged
bobleer merged 3 commits into
GCWing:mainfrom
bobleer:feat/relay-one-click-deploy
Jul 19, 2026
Merged

feat(relay): one-click self-hosted relay deploy wizard#1631
bobleer merged 3 commits into
GCWing:mainfrom
bobleer:feat/relay-one-click-deploy

Conversation

@bobleer

@bobleer bobleer commented Jul 19, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add a desktop wizard to deploy a self-hosted BitFun relay over SSH (preflight, Docker install, compose deploy, first-account registration).
  • Fix Docker dependency-cache invalidation so the real relay-service rebuild is not linked against the empty placeholder crate (db/admin missing).
  • Stream detached deploy logs into the wizard: line-buffered remote output, plain BuildKit progress, CRLF-safe poll splitting, and immediate serial polling.

Test plan

  • cargo test -p bitfun-services-integrations --features remote-ssh-concrete --lib remote_ssh::relay_deploy::tests
  • pnpm run type-check:web and pnpm run i18n:audit
  • cargo check -p bitfun-desktop / cargo check -p bitfun-relay-server
  • Local docker compose -f src/apps/relay-server/docker-compose.yml --progress=plain build --no-cache succeeds through the second cargo stage
  • Container smoke: /health OK and relay-admin list-users runs
  • After merge to main, re-run the wizard deploy against a VPS (wizard pulls GitHub main tarball)

bobleer added 3 commits July 19, 2026 18:28
Docker rebuild left libbitfun_relay_service artifacts from the empty
placeholder crate, so relay-admin failed to find db/admin. Also make
detached deploy logs line-buffered and pollable so the wizard shows
progress while the remote build runs.
@bobleer
bobleer merged commit fa94b93 into GCWing:main Jul 19, 2026
5 checks passed
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