5 ms·
OrbStack works really well for me. I wonder how it’s compared to this performance wise
by blahgeek 3mo ago
OrbStack works really well for me. I wonder how it’s compared to this performance wise
- kdrag0n 3mo ago(OrbStack dev here.) Instead of Virtualization.framework, we have a custom Rust virtualization stack with custom devices and protocols for things like filesystem sharing. It's a highly optimized vertically integrated stack specifically for running our Linux machines and containers. Our biggest perf/resource gain is dynamic memory, which reduces memory usage a lot by releasing unused memory back to macOS. Nothing else supports this, including Containerization. I gave Container Machines a try and it seems to be much closer to OCI containers with a default bind mount than OrbStack machines. It has fewer integrations and doesn't run systemd or any other normal init system, so it's hard to run services.
- egernst 3mo agoThanks for the info kdrag0n! Big fan of OrbStack; good call out on dynamic memory. If the guest image has /sbin/init, we use that. We'd recommend using a base image for the guest that includes systemd. ie: https://github.com/apple/container/blob/main/docs/container-machine.md#bring-your-own-container-machine-image https://github.com/apple/container/blob/main/docs/container-...
- kxxx 3mo agoApple says that `systemctl` is supported... hmm am I missing something? "Real Linux services for testing. Run a database or whatever your stack needs as a system service — systemctl start postgresql works on images with systemd installed."
- kdrag0n 3mo agoGood catch, I tried the example alpine commands and there was no init system. Makes sense if it's based on OCI images
- kxxx 3mo agoJust tested it on on an OCI image with systemd and it works well. I can see the appeal of OrbStack regarding memory reallocation and will stick with it in the time being :)
- jhancock 3mo agoI’ve been using podman on Mac. It’s been a nice fit as the container build files are identical to what I use on my fedora server. I have noticed my 2 virtual core 4 gb Linode vps runs apps faster in the same container as when run on my MacBook Air M2 16 gb. I expected some performance overhead but didn’t think it would be noticeable as it is. Overall happy with podman. How might OrbStack differ?
- thatxliner 3mo agoHaving used both, it feels like OrbStack "just works" more than Podman. The main example of this is Supabase.
- saltamimi 3mo agoI know this is off topic, but I do thank you for your Android work, the idea and elegance of fastboot.js and that SafetyNet workaround trick was truly really cool.
- kdrag0n 3mo agoAhh those were good times, glad you came across it :)
- vsgherzi 3mo agoI love orbstack, is there any code I could read on the rust side? Seems very interesting
- CGamesPlay 3mo ago> Our biggest perf/resource gain is dynamic memory, which reduces memory usage a lot by releasing unused memory back to macOS. Nothing else supports this, including Containerization. Wow, missed this when reviewing OrbStack. I assumed that you just used Containerization and therefore would have the same limitation.
- trueno 3mo agojust dropping in to say orbstack super owns and i use it every day. huge respect to rethinking this experience, for a minute there i thought docker was just going to be the only path. i dont think ive looked back for docker since. orbstack just feels right, and damn its so fast and good with resources, and the UI is just insanely straight forward. props!
- TheTaytay 3mo agoWe love OrbStack too! Thank you for it, I wanted to make its VM/machine our default secure agent sandbox, but I couldn’t figure out how to isolate this VM from the host properly. This thread prompted me to find the issue though, and I saw this was recently implemented! https://github.com/orbstack/orbstack/issues/169 https://github.com/orbstack/orbstack/issues/169
- kdrag0n 3mo agoYep! Still refining it but isolated machines now have fine-grained settings for filesystem mounts, network isolation, SSH agent forwarding, and CPU/memory/disk limits
- mescalito 3mo agoSuper happy orbstack customer. Just curious on your statement: > I gave Container Machines a try and it seems to be much closer to OCI containers with a default bind mount than OrbStack machines. It has fewer integrations and doesn't run systemd or any other normal init system, so it's hard to run services. The linked md document says: > Real Linux services for testing. Run a database or whatever your stack needs as a system service — systemctl start postgresql works on images with systemd installed. Was that not the case when you used container machines?
- kdrag0n 3mo agoThat's my bad, I used the example alpine commands and the official alpine doesn't have init. It's supported if you build an image with systemd installed
- blackqueeriroh 3mo agoWhen are y’all gonna support sandboxing? Preferably Docker Sandboxes?
- keybits 3mo agoIsolated machines was release recently: https://docs.orbstack.dev/machines/isolated https://docs.orbstack.dev/machines/isolated - various recent improvements in the release notes: https://docs.orbstack.dev/release-notes https://docs.orbstack.dev/release-notes Nothing specific for Docker yet, but I find the Linux machines are lightweight enough that I just run Docker inside them.
- d3v1an7 3mo agojust adding a 'hell yeah: orbstack is so good' to the thread. i mainly avoid containers where i can, but when containers need to happen, orbstack is 'just enough' for me. lovely and well considered ui, stable, performant. don't need much else. thank you for your work and care!
- bjt12345 3mo agoOrbstack plays well with Pycharms BTW.
- rswail 3mo agoI changed over to Orbstack just for local builds and it is one of those apps that makes owning a Mac that much better. This post reminded me to buy a license, just done it, worth it for the time saved.
- torarnv 3mo agoThose are awesome features! The one missing for me is bridge networking. Any idea why orbstack doesn’t have that? https://github.com/orbstack/orbstack/issues/342 https://github.com/orbstack/orbstack/issues/342
- rubnogueira 3mo agoJust to give a thumbs up to you and OrbStack. I've been using it every day since the first releases, and it is one of the most stable and performant drop-in replacements that I've seen.
- kdrag0n 3mo agolove to hear it!
- rahen 3mo agoWhat kind of virtualization do you use internally? I assume some kind of LXD fork? OrbStack really feels like a single-node Incus host.
- kdrag0n 3mo agoThe Linux VM host and guest components are all custom, as well as the daemon that manages machines. It currently uses LXC as the runtime but that's being replaced as well. For containers we run a standard Docker engine inside a special machine.
- bekantan 3mo agoAmazing software, thanks!
- kxxx 3mo agoI really like OrbStack and am also not sure why I'd use Container Machines over it, at the moment...
- pojzon 3mo agoOrbStack still uses a single big VM, Container Mashines each spawn its own MicroVM. Isolation level on Container Machines is better from that point of view.
- emmelaich 3mo agoI'd like to see a comparison to https://tart.run/ https://tart.run/ as well. AFAICT it's pretty similar.
- eatonphil 3mo agoTart was just bought by OpenAI so its future is suspect.
- cpuguy83 3mo agoNot a full docker env, I aimed this as doing builds though you can run dockerd as an option, https://github.com/cpuguy83/crucible https://github.com/cpuguy83/crucible uses the containerization framework to run either build kitd or dockerd and wire it up to docker/buildx cli (or whatever client tooling you want to use). The Containerization framework is a library that sits as a layer on top of the virtualization framework. So each container is its own VM. Machine is tooling above the containerization framework to run multiple things in a container in a vm.
- jbverschoor 3mo agoNote that orbstack supports audio and usb pass through, which is super nice
- mpeg 3mo agoI like orbstack in theory, but I find it hard to justify a $96/yr license fee for something that has so many open source, free alternatives. As it is, I’d rather use podman or colima
- Ghoelian 3mo agoIt's free for personal use, and for a company 96/year is absolutely nothing, I'd hope.
- baq 3mo agoThe alternatives are all broken in some ways is the answer, including the official paid docker enterprise. Personally I’d rather the company provisioned me MacBook hardware with Linux. Unless Fable or some other ai ports asahi properly to modern hardware I expect to retire before this is possible, orbstack is the next best thing, available today.
- gempir 3mo agoI just wish bind mounts would be more performant/native. I get that this is probably impossible, and probably also sucks on Linux, haven't tried. But like having containers that need file watchers like vite dev server, or frankenphp in watch mode will overload OrbStack real quick since It seems to fallback to polling instead of listening to fs events. So I'm stuck running vite dev servers and the like on the host.
- jnewton_dev 3mo ago[flagged]
- gempir 3mo agoHmm, that sounds very vague. how DID you solve it? Do you now run Vite dev servers in containers?
- kdrag0n 3mo agoCan you share more details? OrbStack has always supported inotify/fanotify (Linux fs watching APIs) on bind mounts and most people use watchers with no issues. Happy to look into whatever you're running into: danny@orbstack.dev
- gempir 3mo agoI'll remember it and email you when I try it again. Last time I tried all of orbstack froze and I had to restart my whole mac to fix it. But you also did some recent releases that fix issues related to freezing up, so maybe it was unrelated. Thanks for the great software! Happy enterprise customer
- kiproping 3mo agoThank you for mentioning this, I have been suffering under the yoke of docker.
- garganzol 3mo agoOrbstack is essentially a happy-path-only contraption that quickly breaks once you happen to take a less visited corner of the street. For example, if you happen to have multiple users who needs to work with it... good luck trying to clean up your system afterwards. So, it's a yoke as well. Maybe a better one for some people, but still a yoke.