Skip to content

Guide first-time Matron setup on a VPS - #1

Draft
danbarker wants to merge 3 commits into
mainfrom
feat/simple-vps-onboarding
Draft

danbarker wants to merge 3 commits into
mainfrom
feat/simple-vps-onboarding

Conversation

@danbarker

@danbarker danbarker commented Nov 14, 2026 •

Copy link
Copy Markdown
Contributor

New installations currently ask users to assemble several pieces and pass a journal password flag the current admin CLI rejects. Add a first-Matron/add-box wizard that installs the browser, journal, bridge, viewer and one selected AI CLI, then guides sign-in and a first task that produces a design page with a result notice.

The starter uses trusted ACME IP HTTPS on a fresh Ubuntu 24.04 VPS. It keeps SSH on port 22, preserves secrets and connector overlays across reruns, pins Matron components and AI CLIs, and provides status, sign-in, enrollment, backup, restore and explicit update commands. Advanced developer setup remains available. Account creation/reset now passes passwords over stdin; recovery instructions use the configured SSH account and port.

Validation completed:

  • 344 Ruby tests / 1,379 assertions; three Python archive-safety/restore tests; syntax and whitespace checks.
  • Isolated Ubuntu 24.04/systemd installation limited to 2 CPUs and 4 GB, including real journal/web builds and both CLI installations.
  • Real HTTP-01 IP issuance and forced renewal against a local Pebble ACME test CA; nginx reload and renewal service/timer checks. Test-only endpoint/trust configuration lives outside this repository.
  • Explicit fast-forward update against a local fixture Git remote, with a validated backup.
  • Interrupted setup/resume, repeat provisioning, browser login and new-session picker, private backup/restore, credential/overlay preservation, and certificate replacement when the IP changes.

Draft pending public-VPS acceptance: production CA issuance, both personal AI sign-ins, the actual generated design page and its For you result notice, phone QR/approval/push and viewer links, second-box pairing/revocation, reboot and update recovery. The container tests do not establish those results. Email and other service integrations are not included. The starter dev account has administrator access to the server.

The screenshot shows actual wizard output with fictional inputs. No credentials or real deployment details are included.

First-run wizard with fictional inputs


Note

High Risk
Changes default install behavior, provisions public HTTPS and Let's Encrypt renewal, handles credentials in backup/restore, and alters journal/bridge deployment—any bug could lock users out or leak secrets.

Overview
Adds a starter installation profile for first-time and add-a-box Matron setups on a fresh Ubuntu 24.04 VPS, while keeping the existing developer wizard behind Advanced (--advanced).

Onboarding and config: A new StarterWizard saves a starter profile (Claude or Codex, bundled or external journal, SSH on port 22) and drives a slimmer module set—skipping desktop, Docker, browsers, and related tooling. Setup defaults to this wizard for new installs; repeating install.sh no longer auto-pulls the repo (updates require sudo matron update --backup).

HTTPS and exposure: Introduces public-ip exposure with Let's Encrypt IP certificates (nginx on 80/443/8444, renewal timer, no self-signed fallback). Advanced cloudflare / ip modes are unchanged.

Stack pinning and Matron install: components.json pins journal, bridge, web, and AI CLI versions; the starter path checks out those revisions, builds bundled matron-web, provisions passwords via --password-stdin, and keeps a persistent mcp-config.local.json overlay.

Operations: New sudo matron commands (status, login, link, backup/restore/update, resume) plus validated restore-state.py, an onboarding module that installs the launcher and walks through first sign-in/chat, and docs/starter-recovery.md / README updates for the guided path.

Reviewed by Cursor Bugbot for commit 8911dcf. Bugbot is set up for automated code reviews on this repo. Configure here.

Companion guide: Matronhq/matron-site#19.

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