The engine
Apple Virtualization (vz) · dockerd + containerd · virtiofs file sharing · Rosetta for amd64 images
Starts in seconds, gives memory back when idle, and your usual `docker` and `docker compose` keep working through the `docatz` context.
Container engine
DoCatz will be the Docker engine and desktop of the family — fast and light on your Mac, quiet when idle, open source, at home on its own and better next to the other cats. Not released yet.
docker compose up · catz-shop · 4 containers running · 0.3 % CPU idle · planned
What is planned
A small Linux VM on Apple’s own virtualisation does the heavy lifting; the cat keeps it quiet, quick and out of your way.
Apple Virtualization (vz) · dockerd + containerd · virtiofs file sharing · Rosetta for amd64 images
Starts in seconds, gives memory back when idle, and your usual `docker` and `docker compose` keep working through the `docatz` context.
https://<service>.<project>.docatz.localhost · published ports on localhost · a trusted local CA
.localhost needs no DNS setup; with DevCatz installed DoCatz uses its CA, so every container gets HTTPS without a warning.
Containers by compose project · logs · terminal · files · images, volumes and networks · stats · menu bar
See what runs, what it costs and why it stopped — then fix it from the same window.
Images · volumes · contexts from the Docker setup you use today
Bring them over, or keep both side by side while you try it.
> why does api keep restarting?
AI, with your containers
The same shared AI connection as the other cats. DoCatz will know your containers, images and the lines that failed, so a crash loop becomes a sentence you understand — with the fix as a button.
Asks before every action
Restarts, rebuilds and edits are buttons you press.
Names and lines, never your env
Container names, states and the log lines you picked — environment values are masked first.
Keys stay in your Keychain
Encrypted by macOS, never in a settings file.
Set the provider once
Claude by default; one setting shared by every Catzoid app.
why does api keep restarting?

DoCatz
api exits with code 1 a second after start: it cannot reach db:5432 because db is still starting. Add a healthcheck to db and make api wait for it.
api: depends_on: db: condition: service_healthy
Apply to composeShow the logsRestart api
“start shop’s containers”, “free up disk space”
Plain words become steps you run one by one.
A crash loop, an OOM kill, a failed build
What happened, why, and the change to the Dockerfile or compose file that fixes it.
From the project’s detected stack
Reviewed as a diff before it is written — the same generator DevCatz uses.
Every request, before it goes out
Env values and secrets are masked; suggestions are buttons you click.
Off until you turn it on · one connection, shared with every Catzoid app ·Claude (default)OpenAIGeminiDeepSeekZ.aiMistralxAIGroqOpenRouterOllamaany OpenAI-compatible server
The MCP with the cats insidesoon
One MCP server for the whole Catzoid family. Your AI assistant — Claude, Cursor or any other that speaks MCP — will be able to list containers, read their logs and restart a service in DoCatz, and reach the other cats you have installed through the same connection. One connection, every cat — and you hold the keys: only what you allow, nothing runs without you seeing it.
Works with ClaudeGeminiGPTGLM— any app that speaks MCP.
Meet MCatzPBetter together
DoCatz works on its own. Next to the others, every container finds its place.
Postgres, MySQL, Redis, MongoDB containers appear as “DoCatz containers”, like DevCatz services today.
Every compose service with an HTTP port becomes an environment, ready to call.
Coming soon
Watch the Catzoid GitHub for the first release; the family grows one cat at a time.