Skip to main content

Deployment Commands

Commands for installing, updating, and auditing applications across platforms.

Application Deployment

CommandPlatformDescription
device windows deployWindowsInstall apps via winget from manifest
device macos deploymacOSInstall apps via Homebrew from Brewfile
device android deployAndroidInstall apps via ADB from manifest

Environment Setup

CommandPlatformDescription
device setup vscodeCross-platformInstall VS Code extensions from manifest

Infrastructure Deployment

CommandPlatformDescription
sfm startDockerStart Symphony Flow services with health checks
task deployLinuxDeploy an application stack via Ansible
task setupLinuxSet up a new host with base requirements
task updateLinuxUpdate a running application stack
task checkLinuxDry-run a deployment (check mode with diff)

See homelab-deploy for the full list of Taskfile commands.

Typical Workflow

Application Deployment (Desktop)

  1. New machine setup: Run the platform-specific deploy command with --required-only to install essential apps
  2. Full setup: Run deploy without filters, then device setup vscode --recommended for IDE extensions
  3. Compliance check: Run the corresponding audit command to verify drift from manifest
  4. Updates: Run the corresponding update command to bring outdated packages current

Infrastructure Deployment (Server)

  1. Run task setup host=myserver to install base requirements on a new host
  2. Run task check stack=elder-care host=myserver to dry-run the deployment
  3. Run task deploy stack=elder-care host=myserver to deploy
  4. Run sfm start --build to start Symphony Flow after code changes