Skip to content
Tech News
← Back to articles

Show HN: Docker Compose for VM's

read original get Docker Compose for VMs → more articles
Why This Matters

Holos introduces a Docker Compose-like approach for managing multiple virtual machines (VMs) on a single host, simplifying the deployment and orchestration of VM stacks without relying on complex control planes or XML configurations. This innovation streamlines VM management, making it more accessible for developers and system administrators, and enhances flexibility in deploying multi-VM environments.

Key Takeaways

holos

Docker compose for KVM. Define multi-VM stacks in a single YAML file. No libvirt, no XML, no distributed control plane.

The primitive is a VM, not a container. Every workload instance gets its own kernel boundary, its own qcow2 overlay, and its own cloud-init seed.

Quick Start

Write a holos.yaml :

name : my-stack services : db : image : ubuntu:noble vm : vcpu : 2 memory_mb : 1024 cloud_init : packages : - postgresql runcmd : - systemctl enable postgresql - systemctl start postgresql web : image : ubuntu:noble replicas : 2 depends_on : - db ports : - " 8080:80 " volumes : - ./www:/srv/www:ro cloud_init : packages : - nginx write_files : - path : /etc/nginx/sites-enabled/default content : | server { listen 80; location / { proxy_pass http://db:5432; } } runcmd : - systemctl restart nginx

Bring it up:

holos up

That's it. Two nginx VMs and a postgres VM, all on the same host, all talking to each other by name.

CLI

... continue reading