Show HN: Davit, a Apple Containers UI
Mostly vibe-coded Apple Containers front-end that I'd like to use myself. But if others want to use it, here's the source code.
364 points by xinit - 92 commentsMostly vibe-coded Apple Containers front-end that I'd like to use myself. But if others want to use it, here's the source code.
364 points by xinit - 92 comments
I had an idea like this and thought I could vibe code it, but then I figured someone else would care more and do it first. I was right!
This looks like a great app and I'm excited to try it out.
Free idea: I would like to be able to "jail" an agent inside a VM and send instructions to the harness from outside the VM to agent(s) installed inside. Ideally there is no Codex/Claude/etc. installed on the host.
More awesome: let me provision multiple user accounts inside the VM and restrict filesystem / network policy by user. Then I can have a dev agent, QA agent, etc. each with its own view of the work. That would be a powerful base layer for further automation.
Of course I should be able to provision various resources "attached" to the VM that agents can use on a permissioned basis; e.g., DB, queue, external volume, and so forth.
You can do exactly that with coderunner
https://GitHub.com/instavm/coderunner
I have been thinking about this too. Is it not as simple as installing Claude in the VM and connecting via an SSH terminal, or if you want a GUI use VSCode with the Remote SSH extension, which will give you the file browser UI etc. Presumably you can extensions in the VSCode Claude/whatever chat extensions in the VM too.
I've done exactly this, and it works pretty well!
1. I setup a VM in UTM (but this could be any kind of containerization thing). I don't even bother with a non-root account in there (the agent has free rein to install packages, write files, etc). 2. I SSH into the container. 3. I install Claude or whatever there. 4. I setup git things in a way where I can push/pull to move code between the container and my host machine.
Upsides: the agent is isolated from the rest of my host system, only being able to read/write what I've explicitly handed to it. Downsides: the agent is isolated from the rest of my host system, so it's more limited in capability.
tart is also an option I like a lot, but it's macOS only.
After like 10 minutes of searching I found multiple similar swift projects (most of them are just a couple of weeks or months old):
https://github.com/tdeverx/contained-app https://github.com/nico81/iContainer https://github.com/wouterdebie/davit https://github.com/Augani/dory https://github.com/tofa84/berth https://github.com/erdaltoprak/ContainerUtility https://github.com/andrew-waters/orchard
There were more if you include ones with fewer GitHub stars, CLI-only, non-Swift etc. but you get the idea.
People will increasingly be able to build their own version of the software they want. As that happens the value of someone else's decreases. The era of hyper-personal software is coming.
Used to be you could use website polish and a few other surface level things to gauge the amount of effort that went into these types of things. Now that is easily finished LLMs. In a similar way, one of the biggest impacts of kick-starter now that the smoke has cleared is the aggressive evolution and refinement of the 3 minute pitch video.
Whether that actually translates into well thought through implementations and road-maps, and real momentum, I can't say.
28 commits in 3 days, 5,015 lines of Swift, every commit "Co-Authored-By: Claude Fable 5".
Also neat that it's signed/notarized. I installed it and it downloaded the necessary container platform stuff on first launch.
Suggestion: add a getting started tutorial to the site which suggests an image to try out and has screenshots (or a silent video) showing you how to get that image up and running and what you can do with it.
The create image dialog suggests "nginx:latest" but that's not a great starting demo.
Look, I'm as anti-AI as the next guy but their homepage is good. They didn't compromise on quality.
Call a spade a spade.
Brings to mind The Show's "ugly MySpace" episode: https://archive.org/details/zefrank-theshow-083
It would be nice if everyone prioritised, and was capable of, shipping polished products. But more likely the apps you're bemoaning come from folks who are not product designers. Even prior to genAI there were plenty of developers (myself included) who had patchy competence in some subset of {copywriting, documentation information architecture, visual design, identity, UI/UX, ...}. I know good developers for whom UI coherence is "not their problem," although they know well enough that it needs to be someone's problem. "Programmer art" is also a thing. I would argue that the non-coding parts of many open-source projects are what lets them down, and when it is good it is usually documentation that impresses me the most. But I think Ze Frank's view might be that, given the sudden drop in barriers to entry, it is amazing that everyone is having a go and trying to express themselves.
Something like a tiny app with a volume, port mapping, and a simple rebuild loop would make the value much easier to see.
Now I wish I hadn't burned all those tokens!
[1] https://open.substack.com/pub/marklwatson/p/running-opencode...
I'll give this a try though.
OrbStack's claim to fame is that all containers run in a single Linux VM, with lots of optimizations on both sides of the VM boundary (including use of a sparse image file for disk storage, which saves a lot of space on the macOS side).
If you run more than 4-5 containers on macOS, the performance and resource usage savings of OrbStack really starts to add up quickly.
It's getting to the point that scrolling down on Github and seeing Claude as a contributor is a signal the app will be good (Native feeling, no Electron, etc)
https://github.com/cpuguy83/crucible
It supports containers, machines, registries with a menu bar app if anyone is interested by it
https://news.ycombinator.com/item?id=48789503
https://github.com/erdaltoprak/ContainerUtility
Is that a thing macOS is moving to? I'm sure I've seen Apple use these too.
[0] https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/...
Sweet, regardless of the AI help.
If anything even more so, no excuses for lazy Electron, with AI helping hand.
Kudos.
I like it! I would like it even more if we could choose which terminal app the containers open in. Is that doable?
Looks like great work, will try it soon!
Good name for this app, BTW.
1) https://github.com/apple/container
Pathetic.
- https://github.com/tdeverx/contained-app
- https://github.com/tofa84/berth
I like to vet my options before committing to new software but who knows if the authors are gonna support these in a month? I don’t want to waste Fable tokens to fix bugs myself when they crop up.
Vibes all the way down
But that's just "noticed", I definitely haven't paid much attention. And don't have a mac nowadays, so I can't go check my hard drive now.
Localization files compress well, compiled code compresses well, repeating assets (@1x, 2x, 3x) and the pair of binaries in a universal app (x86_64 + arm64) do too, etc.
Ah, and dmg compression is just LZFSE, zlib or bzip2, so pretty standard stuff as far as I understand it.
Docker desktop on mac does not work well (uses lots of resources) and my current alternative is OrbStack (very slick, uses far less resources, but freemium).
Oh! Do you mean the issue is adding extra name resolution to a VM?
Have you tried this avahi alias trick?
https://gist.github.com/tomslominski/9d507acd4036952d65b2364...
Works like a charm, bit odd that you have a persistent avahi client process broadcasting per alias, but it's lightweight.
Will give it a try, you won a star
I was doing the following at the same time on my MBP this week:
* running a bunch of containers + MCP servers for Claude and Codex on Docker Desktop
* heavily using Claude Code with Fable and packer to build cloud marketplace images
* having Codex write some tests and git flows and reviewing the work in vscode
* automating a character in a Wine-based 1st party RPG in the background running at full resolution
* watching anime on Plex in between Claude Code prompts
It's all about your machine. Docker Desktop is not my worry and if you're a Dev you should have a nice laptop with 32-64GB or more, Apple Silicon Max CPU, etc. This goes for Fusion or UTM also if you want to run a Linux Desktop.
I use docker CE with all container/tui interfaces on all of my Linux systems, but Docker Desktop is nice for macOS or Windows. I almost forgot about Docker Desktop's Gordon, and the AI assistant will do things like analyze your Dockerfile or compose.yml. Super handy.
Really depends on what you're building, to be honest.
Additionally, Docker/Podman/Orbstack start a single VM, where memory is shared between containers.
On the other hand, Apple Containers create a separate VM for each container, which results in higher memory usage due to Linux kernel overhead, as well as the fact that kernel will try to use most of the available memory for file caching.
Oh goodness what have we come to? I know we're comparing to electron monstrosities, but still
yes I know we went to the moon with a few kb but are we going to hang on to that for ever?
Anyway, I think we should want to build efficient things. Dismissing this doesn’t seem terribly productive.
Yes, yes we fucking are.