by GreenGames on 2/2/25, 11:46 AM with 75 comments
Why we built Lume: - Run native macOS VMs in 1 command, using Apple Virtualization.Framework: `lume run macos-sequoia-vanilla:latest`
- Prebuilt images on https://ghcr.io/trycua (macOS, Ubuntu on ARM)
- API server to manage VMs programmatically `POST /lume/vms`
- A python SDK on github.com/trycua/pylume
Run prebuilt macOS images in just 1 step: lume run macos-sequoia-vanilla:latest
How to Install:
brew tap trycua/lume
brew install lume
You can also download the `lume.pkg.tar.gz` archive from the latest release https://github.com/trycua/lume/releases, extract it, and install the package manually.
Local API Server: `lume` exposes a local HTTP API server that listens on `http://localhost:3000/lume`, enabling automated management of VMs.
lume serve
For detailed API documentation, please refer to API Reference(https://github.com/trycua/lume/blob/main/docs/API-Reference....).
HN devs - would love raw feedback on the API design and whether this solves your Apple Silicon VM pain points. What would make you replace UTM/Multipass/Docker Desktop with this?
Repo: https://github.com/trycua/lume Python SDK: github.com/trycua/pylume Discord for direct feedback: https://discord.gg/8p56E2KJ
by ammmir on 2/2/25, 1:51 PM
the hard part about running VMs isn't really how to launch them (well, ahem, i'm looking at you, qemu), but getting data in and out, and controlling them. some feature requests, if i may ;)
# take screenshot
# this should do the right thing(TM) and take a screenshot of the logged-in user session, which may not necessarily be the console
lume screenshot <vm name> [-o <file.png> | -]
# execute command
lume exec <vm name> [--as-user <user>] <command> [args]
# copy files in and out
lume cp <vm name>:<vm path> <local path>
lume cp <local path> <vm name>:<vm path>
# run clone as new VM
# this should appropriately roll the MAC address, IPs, and reseed any RNGs, of course
lume run --clone <clone name> <vm name>
Can you clone a VM while it's running?The ability to resume a VM within < 1 second would be useful for on-demand workflows without waiting for a full VM bootup sequence, similar to how you can get a firecracker microVM into the state you want, snapshot it.. then clone as you wish, and resume back into the guest.
You may need to preinstall an agent (a la Parallel/VMware Tools) to make sure this is seamless and fast.
by oulipo on 2/2/25, 12:59 PM
by Khaine on 2/2/25, 1:10 PM
Also, would it be possible to run BSDs with this?
[2] https://tart.run
by mightysashiman on 2/2/25, 2:59 PM
by joshlk on 2/2/25, 5:22 PM
by zxcb1 on 2/2/25, 1:13 PM
by catskull on 2/2/25, 4:05 PM
by bawana on 2/2/25, 3:18 PM
by zombot on 2/3/25, 7:34 AM
by stephenr on 2/2/25, 5:07 PM
by miles on 2/2/25, 7:27 PM
Just checked my list of VMs in UTM; 5 Linux (Ubuntu, Debian, and Fedora), 9 Mac OS X/OS X/macOS (versions stretching back from Tiger to Sequoia), and 10 Windows (XP through 11). Lume would need to support not only Windows but also emulation in order to consider a move.
by wynemo on 2/3/25, 8:43 AM
by gcr on 2/2/25, 10:20 PM
brew install orbstack
orb
# you're now running in an ubuntu VM
by dangoodmanUT on 2/2/25, 3:24 PM
by jppope on 2/2/25, 8:20 PM
The project looks cool though
by Retr0id on 2/2/25, 1:29 PM
by TekMol on 2/2/25, 12:26 PM
For laptops, there are many nice options. But for tablets, the latest iPads are currently unmatched at under 600 grams for a 13" tablet. So I would love to use one of those.
by ricw on 2/2/25, 1:07 PM
If so, this would be great. Particularly to repurpose older macs.
by mattbillenstein on 2/2/25, 4:47 PM
Also, the frequency and size and time to install MacOS updates - like these computers are blazingly fast from the cpus to the SSDs - after an update has downloaded, what could it possibly be doing that takes 30+ minutes to install? I've never had to wait for an apt-get upgrade that long.
by keb_ on 2/2/25, 6:04 PM