A2 Setup wizard
- Area
- A — Getting started
- Audience
- operator
- Kind
- feature
- Status
- accepted
- Maturity
- building
- Labels
- ux, wiring
The feature in the specification · Read at
Requirements
Invoking lemonfiber with no configuration MUST offer setup without requiring a subcommand.
- locked by
- 0.2.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/wizard.rscrates/lemonfiber-core/src/journal.rscrates/lemonfiber-core/src/app/apply.rscrates/lemonfiber-core/src/config/store.rscrates/lemonfiber-core/src/stack.rscrates/lemonfiber-core/src/config/paths.rs
- cited by
- lemonfiber@d549176576lemonfiber@f8e31bf9bflemonfiber@7898298c08
Steps preceding Review MUST NOT write to disk, except a resumable progress file.
- locked by
- 0.2.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/wizard.rscrates/lemonfiber-core/src/journal.rscrates/lemonfiber-core/src/app/apply.rscrates/lemonfiber-core/src/config/store.rscrates/lemonfiber-core/src/stack.rscrates/lemonfiber-core/src/config/paths.rs
- cited by
- lemonfiber@eef2640446lemonfiber@7898298c08
Review MUST show every value that will be written before anything is applied.
- locked by
- 0.2.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/wizard.rscrates/lemonfiber-core/src/journal.rscrates/lemonfiber-core/src/app/apply.rscrates/lemonfiber-core/src/config/store.rscrates/lemonfiber-core/src/stack.rscrates/lemonfiber-core/src/config/paths.rs
- cited by
- lemonfiber@c5020a40e9lemonfiber@593ac47954lemonfiber@c37419c0cdlemonfiber@7898298c08
Progress MUST survive quitting, and the wizard MUST resume at the step reached.
- locked by
- 0.2.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/wizard.rscrates/lemonfiber-core/src/journal.rscrates/lemonfiber-core/src/app/apply.rscrates/lemonfiber-core/src/config/store.rscrates/lemonfiber-core/src/stack.rscrates/lemonfiber-core/src/config/paths.rs
- cited by
- lemonfiber@ea069294b0lemonfiber@7898298c08
lemonfiber MUST NOT ask any question whose answer it can reliably detect.
- locked by
- 0.2.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/wizard.rscrates/lemonfiber-core/src/journal.rscrates/lemonfiber-core/src/app/apply.rscrates/lemonfiber-core/src/config/store.rscrates/lemonfiber-core/src/stack.rscrates/lemonfiber-core/src/config/paths.rs
- cited by
- lemonfiber@7898298c08
PUID/PGID MUST be requested only where file ownership is user-visible (native Linux Docker).
- locked by
- 0.2.0 unmarked
- recorded partial
- lemonfibercrates/lemonfiber/src/prompt.rs
- cited by
- lemonfiber@82b419e23dlemonfiber@33006632ba
Native Jellyfin mode MUST be offered only on platforms where it enables hardware transcoding.
- locked by
- 0.2.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/wizard.rscrates/lemonfiber/src/prompt.rs
- cited by
- lemonfiber@33006632ba
Hardlink capability MUST be tested empirically, never inferred from filesystem name.
- locked by
- 0.2.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/doctor/storage.rscrates/lemonfiber-core/src/wizard.rscrates/lemonfiber-core/src/journal.rscrates/lemonfiber-core/src/app/apply.rscrates/lemonfiber-core/src/config/store.rscrates/lemonfiber-core/src/stack.rs
- cited by
- lemonfiber@bace68a7a6lemonfiber@12382b7be1
"Docker absent" and "Docker present but unreachable" MUST produce distinct messages and remedies.
An interrupted apply MUST be detected on next run and MUST offer resume, roll back, or start over.
- locked by
- 0.2.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/wizard.rscrates/lemonfiber-core/src/journal.rscrates/lemonfiber-core/src/app/apply.rscrates/lemonfiber-core/src/config/store.rscrates/lemonfiber-core/src/stack.rscrates/lemonfiber-core/src/config/paths.rs
- cited by
- lemonfiber@3bfc2b469blemonfiber@19672a4fe1lemonfiber@c005f21cb2lemonfiber@a340f287e3lemonfiber@e4a9a37713
Image pull progress MUST be shown per image, with an expected-duration statement beforehand.
- locked by
- 0.2.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/wizard.rscrates/lemonfiber-core/src/journal.rscrates/lemonfiber-core/src/app/apply.rscrates/lemonfiber-core/src/config/store.rscrates/lemonfiber-core/src/stack.rscrates/lemonfiber-core/src/config/paths.rs
- cited by
- lemonfiber@7e31a74a76
Declining both protocols MUST be a supported path that skips all download configuration.
In a non-interactive context, the wizard MUST fail with a message naming the required flags, and MUST NOT block on stdin.
- locked by
- 0.2.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/wizard.rscrates/lemonfiber-core/src/journal.rscrates/lemonfiber-core/src/app/apply.rscrates/lemonfiber-core/src/config/store.rscrates/lemonfiber-core/src/stack.rscrates/lemonfiber-core/src/config/paths.rs
- cited by
- lemonfiber@ffe542264alemonfiber@b1ce5608dblemonfiber@7898298c08
When configuration already exists, lemonfiber MUST direct the operator to reconfiguration rather than re-running setup.
- locked by
- 0.2.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/wizard.rscrates/lemonfiber-core/src/journal.rscrates/lemonfiber-core/src/app/apply.rscrates/lemonfiber-core/src/config/store.rscrates/lemonfiber-core/src/stack.rscrates/lemonfiber-core/src/config/paths.rs
- cited by
- lemonfiber@d549176576lemonfiber@7898298c08
Total elapsed time for an operator with prerequisites in hand SHOULD be under 15 minutes (NFR).
- locked by
- 0.2.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/wizard.rscrates/lemonfiber-core/src/journal.rscrates/lemonfiber-core/src/app/apply.rscrates/lemonfiber-core/src/config/store.rscrates/lemonfiber-core/src/stack.rscrates/lemonfiber-core/src/config/paths.rs
- cited by
- lemonfiber@e12e1e4124
The web API MUST serve what setup settled — the data root, the protocols and the service user — read from the configuration as it stands, together with whether this stack is set up, on a read that offers no setup and changes nothing (N15-R1, N15-R2).
- locked by
- 0.18.0 open
After the start step, setup MUST wire the stack as seed does (D1), and report each connection made, skipped or failed before it finishes; a stack that did not start is not wired.