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