Getting Started
Installation
Quick Install (recommended)
curl -fsSL https://raw.githubusercontent.com/rundops/dops/main/install.sh | shDownloads the latest binary for your platform and installs to /usr/local/bin. Set DOPS_INSTALL_DIR to change the location:
DOPS_INSTALL_DIR=~/.local/bin curl -fsSL https://raw.githubusercontent.com/rundops/dops/main/install.sh | shWindows (winget)
winget install RunDops.dopsWindows (Scoop)
scoop bucket add rundops https://github.com/rundops/scoop-bucket.git
scoop install dopsOr download the latest .zip from the releases page and add dops.exe to your PATH.
Homebrew (macOS/Linux)
brew install rundops/tap/dopsGo
go install github.com/rundops/dops@latestDocker
docker pull ghcr.io/rundops/dops:latestFrom Source
git clone https://github.com/rundops/dops.git
cd dops
make installInitialize
dops initThis creates ~/.dops/ with a default configuration and a sample hello-world runbook.
Launch the TUI
dopsNavigate with arrow keys, press Enter to run a runbook, fill in parameters, and confirm.
Launch the Web UI
dops openOpens a browser-based interface at http://localhost:3000 with the same catalog, forms, and execution streaming. See the Web UI guide for details.
Add Your First Catalog
A catalog is a directory of runbooks. Create one:
mkdir -p ~/.dops/catalogs/my-team/hello-worldCreate the runbook definition:
# ~/.dops/catalogs/my-team/hello-world/runbook.yaml
name: hello-world
version: 1.0.0
description: Say hello
risk_level: low
script: script.sh
parameters:
- name: greeting
type: string
required: true
description: The greeting message
scope: runbookCreate the script:
#!/bin/sh
set -eu
GREETING="${GREETING:?greeting is required}"
main() {
echo "==> Stage 1/1: Hello"
echo " ${GREETING}"
echo ""
echo "Done"
}
main "$@"Make it executable:
chmod +x ~/.dops/catalogs/my-team/hello-world/script.shRegister the catalog:
dops catalog add ~/.dops/catalogs/my-teamLaunch dops — your runbook will appear in the sidebar.
Install a Shared Catalog
Install a catalog from a git repository:
dops catalog install https://github.com/your-org/ops-runbooks.gitUpdate it later:
dops catalog update ops-runbooksRun a Runbook from the CLI
Execute a runbook non-interactively:
dops run my-team.hello-world --param greeting="Hello, world!"View Execution History
See past runs across TUI, CLI, Web, and MCP:
dops historyFilter by runbook or status:
dops history --runbook default.hello-world
dops history --status failedOr view history in the web UI — click the clock icon in the sidebar header.
Environment
| Variable | Default | Description |
|---|---|---|
DOPS_HOME | ~/.dops | Config and catalog directory |
DOPS_NO_ALT_SCREEN | (unset) | Set to 1 to disable alternate screen |