CLI (handwritten backup)
All commands use the --config flag for server config (default: /etc/simpledeploy/config.yaml). Remote commands use the active context from ~/.simpledeploy/config.yaml.
Server Commands
Section titled “Server Commands”simpledeploy serve
Section titled “simpledeploy serve”Start the SimpleDeploy server.
simpledeploy serve --config /etc/simpledeploy/config.yamlStarts: reverse proxy (Caddy), management API, reconciler watcher, metrics collector, backup scheduler, alert evaluator.
simpledeploy init
Section titled “simpledeploy init”Generate a default config file.
simpledeploy init --config /etc/simpledeploy/config.yamlApp Management
Section titled “App Management”simpledeploy apply
Section titled “simpledeploy apply”Deploy apps from compose files.
# Single appsimpledeploy apply -f docker-compose.yml --name myapp
# All apps in directorysimpledeploy apply -d ./apps/Copies the compose file to the server’s apps directory and triggers deployment.
| Flag | Short | Required | Description |
|---|---|---|---|
--file | -f | with —name | Compose file path |
--dir | -d | alt to -f | Directory of app subdirectories |
--name | with -f | App name/slug |
simpledeploy remove
Section titled “simpledeploy remove”Remove a deployed app.
simpledeploy remove --name myappStops containers, removes network, deletes from store and apps directory.
simpledeploy list
Section titled “simpledeploy list”List deployed apps with status.
simpledeploy listOutput:
NAME STATUS DOMAINmyapp running myapp.example.compostgres runningsimpledeploy logs
Section titled “simpledeploy logs”Stream container logs.
simpledeploy logs myappsimpledeploy logs myapp --follow=false --tail 50 --service db| Flag | Short | Default | Description |
|---|---|---|---|
--follow | -f | true | Follow log output |
--tail | 100 | Number of historical lines | |
--service | web | Compose service name |
Remote Client Commands
Section titled “Remote Client Commands”simpledeploy context
Section titled “simpledeploy context”Manage remote server connections.
# Add a contextsimpledeploy context add production --url https://manage.example.com --api-key sd_...
# Switch contextsimpledeploy context use staging
# List contexts (* = active)simpledeploy context listsimpledeploy pull
Section titled “simpledeploy pull”Export remote app config to local files.
simpledeploy pull --app myapp -o ./simpledeploy pull --all -o ./apps/Downloads compose files from the remote server.
simpledeploy diff
Section titled “simpledeploy diff”Compare local config vs remote state.
simpledeploy diff --app myappsimpledeploy diff -d ./apps/Shows line-by-line differences between local compose files and remote.
simpledeploy sync
Section titled “simpledeploy sync”Sync a local directory to the remote server.
simpledeploy sync -d ./apps/Deploys new/changed apps and removes apps not present locally.
Backup Commands
Section titled “Backup Commands”simpledeploy backup run
Section titled “simpledeploy backup run”Trigger an immediate backup.
simpledeploy backup run --app myappsimpledeploy backup list
Section titled “simpledeploy backup list”List backup runs for an app.
simpledeploy backup list --app myappsimpledeploy restore
Section titled “simpledeploy restore”Restore from a backup.
simpledeploy restore --app myapp --id 42User Management
Section titled “User Management”simpledeploy users
Section titled “simpledeploy users”Manage users (requires direct database access).
# Create usersimpledeploy users create --username admin --password secret --role super_admin
# List userssimpledeploy users list
# Delete usersimpledeploy users delete --id 2Roles: super_admin (full access), admin (per-app access), viewer (read-only per-app).
simpledeploy apikey
Section titled “simpledeploy apikey”Manage API keys.
# Create key (prints plaintext once)simpledeploy apikey create --name "claude-code" --user-id 1
# List keyssimpledeploy apikey list --user-id 1
# Revoke keysimpledeploy apikey revoke --id 3API keys authenticate CLI and API requests via Authorization: Bearer sd_... header.
Registry Management
Section titled “Registry Management”simpledeploy registry
Section titled “simpledeploy registry”Manage private container registry credentials.
# Add a registrysimpledeploy registry add --name ghcr-org --url ghcr.io --username myuser --password mytoken
# List registriessimpledeploy registry list
# Remove a registrysimpledeploy registry remove ghcr-org| Subcommand | Description |
|---|---|
add | Add registry credentials (encrypted with master_secret) |
list | List configured registries with decrypted usernames |
remove | Remove a registry by name |
registry add flags
Section titled “registry add flags”| Flag | Required | Description |
|---|---|---|
--name | Yes | Registry identifier (referenced in config/labels) |
--url | Yes | Registry URL (e.g., ghcr.io, 123456.dkr.ecr.us-east-1.amazonaws.com) |
--username | Yes | Registry username |
--password | Yes | Registry password or token |
Credentials are encrypted with AES-256-GCM using the master_secret from config.
Config Sidecar Commands
Section titled “Config Sidecar Commands”simpledeploy config export
Section titled “simpledeploy config export”Write all config sidecars from the current DB state to disk. Useful to verify sidecar content or backfill after a manual DB edit.
simpledeploy config exportSee Config sidecars for the file layout.
simpledeploy config import
Section titled “simpledeploy config import”Rebuild the DB from on-disk sidecars. Normally auto-recovery on startup handles this; use this command when you want to force an import into a non-empty DB.
simpledeploy config import --force --wipe| Flag | Description |
|---|---|
--force | Required to import into a non-empty DB |
--wipe | Truncate config tables before importing (destructive) |
Git Sync Commands
Section titled “Git Sync Commands”simpledeploy git status
Section titled “simpledeploy git status”Show current git sync status: remote, branch, last sync time, and any recent conflicts.
simpledeploy git statussimpledeploy git sync-now
Section titled “simpledeploy git sync-now”Trigger an immediate pull-and-apply cycle without waiting for the next poll interval.
simpledeploy git sync-nowSee Git sync for setup.
Utility Commands
Section titled “Utility Commands”simpledeploy version
Section titled “simpledeploy version”Print version, commit hash, and build date.
simpledeploy version# simpledeploy 1.2.0 (commit: abc1234, built: 2026-04-08T18:00:00Z)Global Flags
Section titled “Global Flags”| Flag | Default | Description |
|---|---|---|
--config | /etc/simpledeploy/config.yaml | Server config file path |
--help | Show help |