Nebcon · v0.2 · macOS 14+
A container manager for Apple's runtime.
Apple made a container runtime for the Mac, but there's no app to go
with it. Nebcon is that app. It shows your projects, containers, images
and volumes in one window (and in the menu bar), and it works through
the docker CLI you already use.
01 Why I made it
I built it because I needed it.
In September I moved all my local projects onto Apple's new container runtime. The runtime worked fine. The problem was that I had no way to see what was going on, and a few of my projects were a mess. Four of them had lost their compose files, so I had to rebuild those from the containers that were still running.
Nebcon started as a quick tool to get me through that week. I kept using it, and kept fixing whatever annoyed me. Most of what's in it is there because something went wrong once and I didn't want it to happen again.
02 Projects stay put
Stopping a project doesn't make it disappear.
When you run compose down, the containers get deleted, and
with them the only record of which project they belonged to. Most apps
then drop the project from the list, so the Up button you'd use to bring
it back is gone too. Nebcon remembers your projects, so a stopped one
stays right where it was.
When something breaks, you get an actual explanation instead of a spinner. Errors show up in red. Warnings, where the command ran but something looked off, show up in amber.
03 Deleting
You see exactly what gets deleted.
Deleting a project is the only thing in Nebcon that really destroys data, so it doesn't just ask "Are you sure?". It lists every container and every volume, with sizes. If another project is still using one of those volumes, Nebcon keeps it and tells you who's using it.
Even the button is specific. It doesn't say Delete. It says Delete 2 containers + 1 volume + files.
04 Setup
It can install everything it needs.
Nebcon relies on four command-line tools: Apple's
container, socktainer (which lets Docker talk
to it), the docker CLI and Docker Compose. Settings shows
which versions you have and lets you install or update them with
Homebrew.
Installing does the whole job. It downloads the kernel, starts the services, and fixes the Compose plugin link, which is often still pointing at an app you uninstalled ages ago.
05 Less clutter
Fewer buttons, less noise.
An early version had four buttons on every container. With nine containers, that's 36 buttons fighting for your attention. Now each row just shows Start or Stop. Restart and logs appear when you hover, in space that's already set aside for them, so nothing jumps around.
06 Why use it
The small stuff that saves you time.
Nobody asks for features like these. I only added each one after it caught me out.
It checks your compose file first
If a variable from your .env is missing, Compose quietly
fills in a blank and starts anyway. You end up with a database that
won't start and no idea why. Nebcon checks first and tells you which
variable is missing.
It hides buttons that won't work
Apple's runtime can't pause containers or save them as images. So Nebcon doesn't show those buttons there, instead of letting you click one and get an error.
It switches when a runtime goes away
If the runtime you're using stops responding (maybe you restarted it, or uninstalled something), Nebcon moves to one that works and lets you know it did.
It handles socktainer's quirks
socktainer renames some Compose labels, turning
working_dir into working-dir. Nebcon reads
both, so your projects still group correctly.
It shows real volume sizes
socktainer reports every volume as -1B. Nebcon measures
the volume's disk image instead, so you see how much space it actually
takes.
It won't start the wrong project
If a folder has no compose file, Compose looks in the parent folder and may start a completely different project. Nebcon turns off Up for that project and tells you why.
07 Limits
What it doesn't do.
Nebcon is just the app on top. If you want the engine, a VM and everything else in one package, there are other tools made for that.
- No engine
-
It doesn't include a runtime, VM or kernel. It uses the
dockerCLI, so you need a runtime installed and running. - No Kubernetes or Linux VMs
- Just containers, images, volumes and Compose projects.
- Exec isn't a full terminal
- The built-in exec runs one command at a time. For anything interactive, use Open in Terminal from the same menu.
- Updates on a timer
- Apple's runtime doesn't send live updates, so Nebcon checks every two seconds while its window is open and every ten when it isn't.
- Not signed
- The app isn't signed or notarized by Apple, so macOS will warn you the first time you open it.
08 Get it
Up and running in a minute.
- Open the disk image and drag Nebcon into Applications.
- Open Nebcon. macOS will block it the first time because it isn't signed.
- Go to System Settings › Privacy & Security, scroll down to the message about Nebcon, and click Open Anyway.
xattr -dr com.apple.quarantine /Applications/Nebcon.app
This removes the flag macOS puts on apps you download. That flag is exactly what the warning is for, so only do this if you trust where the app came from.
A Mac with Apple silicon running macOS 14 or later, plus a container
runtime: Apple's container with socktainer,
or any Docker setup you already have. Homebrew is optional, but with
it Nebcon can install and update the runtime for you.