VM Tool
FeaturesHow It WorksUsagePlayground
Sign in
v1.0.51 — Now with Kubernetes support

Deploy to any server. One command.

Docker Compose and Kubernetes deployments powered by Ansible.
Health checks, rollback, drift detection, and CI/CD generation built in.
$ pip install vm-tool
$ vm_tool deploy-docker --profile prod --health-port 8000
Deployment to 10.0.2.10 completed in 12.4s
All health checks passed!
Try PlaygroundGitHubPyPI

Everything you need to deploy

Production-grade deployment automation without the complexity. Simple commands, powerful Ansible engine.

Docker Compose Deploy

Push compose files to any server via SSH. Idempotent, with automatic change detection.

Kubernetes Deploy

Apply manifests or Helm charts. Dry-run, rollout status, and namespace management.

Health Checks

Port, HTTP, and custom checks run after every deployment. Configurable timeout.

History & Rollback

Full deployment history with one-command rollback to any previous state.

Secrets Management

Sync .env files to GitHub Secrets. Hydrate env files in CI/CD pipelines.

Pipeline Generation

Auto-generate GitHub Actions workflows with deploy, rollback, and health checks.

Backup & Restore

Create and restore backups before deployments. Configurable retention.

Drift Detection

Detect manual changes on servers that diverge from your declared config.

How it works

From install to production in four steps.

1
Install
$ pip install vm-tool
2
Configure
$ vm_tool config create-profile prod \ --host 10.0.2.10 --user ubuntu
3
Deploy
$ vm_tool deploy-docker \ --profile prod --health-port 8000
4
Verify
$ vm_tool history --host 10.0.2.10 vm_tool drift-check --host 10.0.2.10

Built for real workflows

Python SDK, CLI, and CI/CD integration out of the box.

from vm_tool import SetupRunner, SetupRunnerConfig config = SetupRunnerConfig( github_project_url="https://github.com/you/app" ) runner = SetupRunner(config) runner.run_docker_deploy( compose_file="docker-compose.yml", host="10.0.2.10", user="ubuntu", project_dir="~/app", )