A Linux lab, from one file
Test a PostgreSQL cluster, reproduce a bug, or try a new distribution. Define up to 20 nodes in one YAML inventory, with stable IPs and SSH ready to use. The same inventory works with Pigsty.
Barn 0.9.0 · Apache-2.0
Bring up a Linux lab from one YAML inventory, or a clean macOS machine for your next build. Fixed addresses, SSH access, and native virtualization on your own hardware.
Bootstrap And Run Nodes. Open source, built for development.
Choose your environment
Test a PostgreSQL cluster, reproduce a bug, or try a new distribution. Define up to 20 nodes in one YAML inventory, with stable IPs and SSH ready to use. The same inventory works with Pigsty.
Build and test in an independent macOS environment. Open its desktop, connect over SSH, and share folders and text with your Mac. New machines reuse a shared base; each keeps its own disk and identity.
Install → Start → Connect
Choose your host OS below, then install, start, and connect. On a fresh setup, Barn creates a one-node Ubuntu 24.04 lab and prepares the host dependencies. It shows host changes and requests administrator access when needed.
Use Homebrew on macOS or the download installer on Linux. Already have a lab? barn up resumes it.
Installation options and requirements · macOS VM guide
Built for repeatable work
Linux nodes keep the IPs in your inventory. Reach databases and services directly from the host and other nodes.
Keep VM definitions in your Ansible inventory. Use it with Barn to create machines and Pigsty to deploy services.
Repeat up to finish interrupted setup. Review changes with plan; recreate and delete machines explicitly.
Linux uses verified qcow2 bases. macOS machines clone a base installed from Apple’s restore image
Linux guests run on macOS or Linux, on arm64 or amd64, using QEMU with HVF or KVM. macOS guests require Apple Silicon, macOS 27 or later, and the native Barn Mac component. See platforms and limits.
No. Barn works on its own for Linux and macOS development. For a PostgreSQL lab, use the same Linux inventory with Pigsty. Barn prepares machines and access; Pigsty installs the services.
For Linux labs, plan shows the changes. Up adds new nodes; changes to existing VM definitions require recreate. Removing a host from the file leaves its VM intact until you explicitly destroy it.
Yes. Give them names and start the ones you need. Apple allows two macOS VMs running at a time per Mac, including other tools. Each Barn Mac machine has an independent network and state, separate from the Linux lab.
Make room for your next experiment.Install Barn 0.9.0, choose your guest, and get to work.