Installer configuration
Configure the CLI bootstrap, release selection, install root, and shell path update.
The bootstrap script installs only the oore CLI and release metadata.
It does not install services, components, Flutter, or the web UI. Run oore install after bootstrap.
Default bootstrap
curl -fsSL https://oore.build/install | bashThe default install root is ~/.oore. The default release is the latest stable version.
The script supports macOS on arm64 and x86_64.
The Mac must provide ssh-keygen with OpenSSH signature support.
Script options
Pass options after bash -s --:
curl -fsSL https://oore.build/install | \
bash -s -- --channel beta --install-root /Users/example/.oore-beta| Option | Purpose |
|---|---|
--version <VERSION> | Install an exact release version. |
--channel <stable|beta|alpha> | Select the channel used for latest. |
--install-root <PATH> | Select an absolute installation root. |
--modify-path | Add the Oore bin directory to the shell path. |
--no-modify-path | Leave shell files unchanged. |
--help | Print script help. |
An exact version overrides channel discovery. The script records the channel that matches the version suffix.
Environment variables
| Variable | Default | Purpose |
|---|---|---|
OORE_VERSION | latest | Select latest or an exact version. |
OORE_CHANNEL | stable | Select stable, beta, or alpha. |
OORE_INSTALL_ROOT | $HOME/.oore | Select the absolute installation root. |
OORE_MODIFY_PATH | auto | Use auto, true, or false for shell path changes. |
OORE_GITHUB_REPO | oore-ci/oore.build | Select the release repository. |
OORE_RELEASE_BASE_URL | GitHub Releases | Override the versioned asset origin. |
OORE_RELEASE_INDEX_BASE_URL | https://releases.oore.build | Override the channel index origin. |
OORE_RELEASE_MANIFEST_URL | Selected channel index | Override the latest release index URL. |
OORE_LEGACY_UPGRADE | Unset | Approve exact v0.1.41 removal without a terminal. |
OORE_ALLOW_UNSIGNED_LOCAL_RELEASE | Unset | Allow an unsigned exact literal-loopback release. |
Use command options for normal installations. Use origin variables only with a trusted release mirror.
The mirror must serve the official signatures beside the index and checksum manifest.
Shell path behavior
With OORE_MODIFY_PATH=auto, the script asks before it changes a shell file.
Without a usable terminal, auto leaves the shell path unchanged.
--modify-path supports zsh and Bash. It fails if SHELL cannot identify either shell.
The script adds one recorded three-line block to .zshrc, .bashrc, or .bash_profile.
oore uninstall removes only that exact recorded block.
Installed bootstrap files
The bootstrap root contains these owned files:
bin/oore
VERSION
CHANNEL
GITHUB_REPO
BOOTSTRAP_ARCHIVE
BOOTSTRAP_SHA256
BOOTSTRAP_MANIFEST_SHA256
SHELL_PATH_FILE # only when the script changes the shell pathThe metadata binds later component installation to the exact verified release.
Verification and failure behavior
The script verifies the OpenSSH signature on the latest release index.
It also verifies the signature on the versioned checksum manifest.
The signature uses the pinned Ed25519 release key and a separate namespace.
The script verifies SHA-256 after signature verification and before publication.
It records the signed manifest digest. Later profile downloads must match that exact digest.
For an older release without a CLI-only archive, it verifies the full archive and extracts only the CLI.
It verifies the extracted version against the resolved release. A mismatch stops installation.
For a non-CLI profile, a different release lineage requires oore uninstall without --purge.
A same-release retry preserves the CLI and metadata. It prints the exact profile reconciliation command.
If publication fails, the script restores the prior CLI, metadata, shell block, and directory modes when safe.
The script rejects symbolic links in managed paths, foreign owners, unsafe shapes, colons, and newlines in the install root.
For a custom root, create its parent first. The current user must own that parent. Other users cannot have write access.
The bootstrap script runs as your normal user.
The signature does not authenticate the downloaded installer script itself. HTTPS protects that first script download.
An approved v0.1.41 service cleanup can request administrator access before CLI publication.
Releases before v0.1.42 do not support guided device setup. Their bootstrap output does not print an invalid setup command.
Local release acceptance
Use the unsigned path only for an exact release on a literal loopback HTTP address:
local_release_base='http://127.0.0.1:8000'
OORE_VERSION=0.1.42 \
OORE_RELEASE_BASE_URL="$local_release_base" \
OORE_ALLOW_UNSIGNED_LOCAL_RELEASE=true \
bash scripts/install.sh --no-modify-path
OORE_RELEASE_BASE_URL="$local_release_base" \
OORE_ALLOW_UNSIGNED_LOCAL_RELEASE=true \
~/.oore/bin/oore installThe script rejects this flag for latest, HTTPS origins, and non-loopback hosts.
The bootstrap disables proxies and redirects for every unsigned download.
The bootstrap does not store the release origin. Pass it again to oore install for component downloads.
Do not use this flag with a public or shared server.
Continue to device installation
oore installFor a headless installation, select the profile explicitly:
oore install --profile control-planeSee oore install for all five profiles.