Skip to main content

homelab-deploy CLI

Repo: score-ra/homelab-deploy (private) CLI entry point: task (go-task runner) Framework: Taskfile + Ansible 2.14+ Language: YAML (Taskfile), Ansible playbooks

Infrastructure as Code repository for deploying containerized applications to Linux hosts using Ansible. Manages deployment stacks (elder-care home automation, Frigate surveillance) with remote SSH/Tailscale access.

Tasks

Core Deployment

TaskDescriptionParameters
task setupSet up a new host with base requirementshost (default: localhost), inventory
task deployDeploy a stack to a hoststack (required), host, inventory
task updateUpdate a running stackstack (required), host, inventory
task checkDry-run a deployment (check mode with diff)stack (required), host, inventory

Discovery and Diagnostics

TaskDescriptionParameters
task discoverDiscover host capabilities and save to profilehost (required), inventory
task pingTest connectivity to hostshost (default: all), inventory
task factsGather Ansible facts from a hosthost (required), inventory

Utilities

TaskDescriptionParameters
task sshSSH into a hosthost (required)
task lintLint Ansible playbooks and roles--
task docsServe documentation locally (MkDocs)--

Security and Vault

TaskDescriptionParameters
task encryptEncrypt a file with Ansible Vaultfile (required)
task decryptDecrypt a file with Ansible Vaultfile (required)

Available Stacks

StackDescriptionServices
elder-careHome automation for elder careOpenHAB, MkDocs, Mosquitto
frigateVideo surveillance systemFrigate NVR

Parameters

All tasks accept these common parameters:

ParameterDescriptionDefault
hostTarget hostname from inventorylocalhost
inventoryInventory pathinventory/staging
stackDeployment stack name--

Prerequisites

  • Python 3.8+ and Ansible 2.14+
  • Task (go-task runner)
  • SSH access to target hosts (key auth preferred)
  • Optional: Tailscale for remote VPN access