Skip to content

Guided setup

servestead setup keeps profile intake, repository choice, plan review, and task execution in one terminal workflow. The current footer shows the keys that apply to each screen.

The opening list includes saved profiles and three actions:

  • Provision a new DigitalOcean VPS opens the live provider catalog. Provisioning saves a profile but does not configure the server.
  • Set up a new server profile starts with an address for a fresh VPS you already own.
  • Advanced legacy setup paths exposes the one-off guided key generation, hardening, network, proxy, and doctor flows.

Select a saved profile to resume work from its dashboard.

A new profile needs a server address, private key path, base domain, and Let’s Encrypt email. Its optional name defaults to the server address. Servestead collects these values before it performs remote work.

Press ctrl+a for advanced fields only when you need to set the profile name or change the initial SSH user, administrative user, or Pangolin administrator. Repository selection follows the profile fields. On a saved profile, ctrl+s saves edited values without starting a run.

Servestead offers three repository modes:

  • Create a local repository at the profile’s default repository path.
  • Use an existing local Git checkout.
  • Clone a GitHub HTTPS repository. Private repositories require a personal access token.

The choice appears on the review screen. Repository creation or cloning waits until after confirmation.

The review screen is the execution boundary. It names the profile, target stages, and repository action. At this point Servestead has not prepared the repository or opened an SSH connection.

Press r to proceed. Servestead runs local preflight, prepares the repository, then begins SSH tasks. Use e, a, or c to correct the profile, advanced values, or repository choice before the run.

The run screen shows the stage, task count, progress, and live output. Press ctrl+c to request cancellation. Servestead shows a cancelling state until the active operation acknowledges it. Cancellation during local preparation starts no SSH work and creates no run record. After SSH work starts, the active remote task may already be partially applied; the cancelled run is persisted, and you should inspect its log and the remote state before retrying.

Completed stages remain in profile state. A later full run can skip them. From the dashboard, select a stage and press r when you intentionally want to run it again.

Select the saved profile at startup. Press h from its dashboard to open run history, then open a run for timestamps, stage errors, and redacted log output.

Servestead uses the operating system’s user configuration directory by default. Set SERVESTEAD_CONFIG_DIR to choose a separate Servestead root, which is useful for tests or an isolated operator environment.

Each profile directory contains:

File Purpose
profile.json Server, domain, user, cloud, and repository metadata.
state.json Completed stages and run state.
secrets.json Owner-only generated credentials and profile tokens.
logs/*.jsonl Structured events used by run history.

Continue with Profile dashboard for day-to-day keys and Profiles and run history for saved state and deletion boundaries.