2.0 KiB
2.0 KiB
Bootstrap Script Documentation
Scope
A server bootstrap script that installs essential utilities and configurations: ZSH (with Oh My Zsh and plugins), Docker (with the Compose v2 plugin), system tooling (htop, glances, iftop, ctop), and optional provider / Salt configuration. Targets Debian/Ubuntu hosts (apt-get) on amd64 or arm64. Re-runs are safe — edits to .zshrc and SSH keys are idempotent.
Usage
To run the bootstrap with the default configuration on a fresh host (as root):
source <(curl -fsSL https://git.nixc.us/colin/bootstrap-scripts/raw/branch/main/strap.sh) defaults-bootstrap
This fetches and executes the bootstrap script, applying a standard suite of tools and settings.
Advanced Usage and Provider-specific Deploys
The bootstrap supports per-provider configuration and selective feature toggles via positional args.
Example for OVH deployment
source <(curl -fsSL https://git.nixc.us/colin/bootstrap-scripts/raw/branch/main/strap.sh) bootstrap ovh nosalt
Argument reference
strap.sh defaults-bootstrap— provider=none, salt=nosalt. Also the default when no args are given.strap.sh bootstrap PROVIDER SALTwhere:PROVIDER∈ {none,ovh,digitalocean}SALT∈ {salt,nosalt}
Environment overrides
| Variable | Default | Purpose |
|---|---|---|
STRAP_BASE_URL |
https://git.nixc.us/colin/bootstrap-scripts/raw/branch/main |
Base URL for fetching bootstrap.sh / zsh-setup.sh |
STRAP_AUTHORIZED_KEYS |
built-in defaultkey_key |
SSH public key appended to /root/.ssh/authorized_keys |
STRAP_SENTRY_DSN |
https://...@sentry.aenow.com/3 |
Sentry DSN exported in .zshrc |
STRAP_SALT_MASTER |
aerence.aenow.fun |
Salt master address (only used when SALT=salt) |
Example:
STRAP_AUTHORIZED_KEYS="$(cat ~/.ssh/id_ed25519.pub)" \
source <(curl -fsSL https://git.nixc.us/colin/bootstrap-scripts/raw/branch/main/strap.sh) defaults-bootstrap