bootstrap-scripts/README.md

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 SALT where:
    • 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