Lightweight Alpine VMs on MacOS

build Go Report Card

macpine is a command-line tool for creating and managing lightweight Alpine Linux virtual machines on macOS. It is designed to be simple, fast, and efficient.

macpine demo

Key Features

  • :repeat: Seamless Port Forwarding: Easily expose services running inside your VM to your host machine.
  • :card_index_dividers: Automatic File Sharing: Mount host directories into your VM for easy file access.
  • :roller_coaster: Bridged Networking: Utilize macOS's native vmnet-shared mode for VMs to get their own IP addresses.
  • :rocket: Multi-Architecture Emulation: Run both aarch64 (ARM) and x86_64 (Intel) VMs, regardless of your host's architecture.

Motivation

The primary goal of macpine is to enable macOS users to:

  1. Easily spin up and manage lightweight, minimal Alpine Linux environments.
  2. Use these tiny VMs to leverage containerization technologies like Incus and LXD on a Mac.
  3. Build and test software for different CPU architectures (x86_64 and aarch64) locally.