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.
Choose a starting point
Section titled “Choose a starting point”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.
Enter profile values
Section titled “Enter profile values”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.
Choose a repository
Section titled “Choose a repository”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.
Review before execution
Section titled “Review before execution”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.
Follow and cancel a run
Section titled “Follow and cancel a 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.
Resume and inspect
Section titled “Resume and inspect”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.
Where local state lives
Section titled “Where local state lives”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.