mrkeyoor.com_
Tue 01 Sept 17:40 UTC
Self-Hostedevaluationupdated 26 Aug 2026

macos review

dockur/macos packages a macOS virtual machine behind a Docker or Podman container, with a browser viewer and automatic recovery-image download. It is for people who want a repeatable macOS guest on a compatible host without assembling QEMU and OpenCore by hand.

+18stars / 7d
Verdict

Our sandbox did not run dockur/macos because its Shell-based Docker workflow falls outside our supported harness, so there is no install or test result to lean on. Use it when you own compatible Apple hardware and want a well-documented container wrapper around a persistent macOS VM. Walk away if the host lacks KVM, first-boot automation is mandatory, or the Apple-hardware license condition does not fit the deployment.

We ran it

Screenshot of macos (github.com/dockur/macos)

Answers from our run

Did you run macos yourself?

No. Its code is Shell, and it carries no manifest our lab installs from, so there was nothing standard to install, build or test. This review is written from the repository's own documentation.

Who should not use macos?

Anyone planning to run macOS on ordinary PC or cloud hardware: the README says Apple's license permits this setup only on Apple hardware.

What are the alternatives to macos?

Docker-OSX, OSX-KVM, macos-virtualbox. Use it when you own compatible Apple hardware and want a well-documented container wrapper around a persistent macOS VM.

Setup2/5KVM host setup and an interactive macOS install are required
Docs5/5Hardware, networking, storage, USB, and legal limits are explicit
Community5/521,465 stars and recent issue discussion around real host setups
Maturity4/5v3.12 is current, with hardware-specific caveats still documented

Discussed on

  1. hnmacOS in QEMU in Docker694 points
  2. hnmacOS in QEMU in Docker490 points
  3. hnDocker-OSX: Run macOS VM in a Docker458 points
  4. hnHow to Replace Docker with Podman on a Mac324 points
  5. hnShow HN: Lume – OS lightweight CLI for MacOS and Linux VMs on Apple Silicon309 points

Who it’s for

Developers with Apple hardware, a Linux host, KVM access, and a reason to keep a macOS VM reproducible.
Home-lab operators who want browser access, persistent storage, and configurable networking around a macOS guest.
Test teams that can accept a manual first installation but want later starts driven by Compose or Kubernetes.

Who it’s NOT for

Anyone planning to run macOS on ordinary PC or cloud hardware: the README says Apple's license permits this setup only on Apple hardware.
Docker Desktop users on Linux, macOS, or Windows 10: the documented requirements say those combinations do not expose KVM to the container.
AMD users expecting predictable multi-core tuning: the README warns that multiple cores may reduce performance or cause instability, and more than 8 GB of RAM may freeze initial setup on some AMD systems.
Teams that need a fully unattended first boot: the documented flow still requires Disk Utility, APFS formatting, macOS installation, region selection, and local account creation.
Hosts without AVX2, 4 GB of available RAM, 32 GB of free disk, /dev/kvm, and the required network devices.

Setup reality

We did not run dockur/macos in our sandbox. The repository is primarily Shell, which our harness does not support, even though the checkout includes a Dockerfile. We therefore have no install, build, or test result to report.

The documented path needs Docker or Podman, KVM, /dev/net/tun, NET_ADMIN, an AVX2-capable CPU, at least 4 GB of available RAM, and 32 GB of free disk. The container downloads recovery files, then macOS downloads the remaining installer.

First setup is interactive through port 8006: format the virtual disk as APFS, run the installer, skip migration and Apple ID if desired, and create an account. Docker Desktop support is limited, AMD tuning has warnings, and the README restricts legal use to Apple hardware.

It wraps a macOS VM in a container, but the VM is still the product

dockur/macos gives Docker and Podman users a compact way to define a macOS virtual machine. The container handles recovery-file download, QEMU configuration, persistent storage, and a browser viewer on port 8006. It can expose VNC on port 5900, share a host folder through 9p, pass through USB devices, and use several network modes.

The abstraction stops at the macOS installer. The documented first boot asks you to open Disk Utility, erase the largest virtual disk as APFS, run Reinstall macOS, choose region and keyboard settings, skip or complete Apple ID setup, and create a local account. Kubernetes can start the workload, but it does not turn those guest steps into an unattended image build.

The minimum host is AVX2, KVM, 4 GB of RAM, and 32 GB of disk

The requirements are stricter than the familiar docker compose up shape suggests. The host needs an AVX2-capable Intel or AMD processor, hardware virtualization exposed through /dev/kvm, at least 4 GB of available memory, and 32 GB of free storage. Networking in the sample also passes /dev/net/tun and grants NET_ADMIN. A virtual private server must offer nested virtualization.

Docker Desktop on Linux, macOS, and Windows 10 is explicitly unsupported because it does not provide container access to KVM. Windows 11 can work only with nested virtualization enabled. The default guest receives 1 CPU core and 4 GB of RAM, while its virtual disk starts at 64 GB. Increasing a disk also requires repair and APFS resize commands inside macOS before the guest uses the added capacity.

What happened when we ran it

We did not run dockur/macos in our sandbox. Our automated harness has no supported ecosystem for this Shell repository, although the checkout does contain a Dockerfile. That means we did not install dependencies, build an image, boot recovery, or run tests, and we will not turn the presence of a container recipe into a passing result.

Our unprivileged container has 3 CPUs and 8 GB of RAM, but this project also needs KVM and network-device access, followed by Apple's recovery and installation flow. A useful trial must reach the browser console, create the 64 GB guest disk, finish macOS setup, reboot cleanly, and preserve state. None of those outcomes came from our run.

Apple hardware is a deployment condition, not a footnote

The repository contains open-source code and says it does not distribute macOS or bypass copyright protection. Its legal section then draws the line that matters to buyers: Apple's end-user license does not permit installing macOS on non-Apple hardware, so the project tells users to run the container only on hardware sold by Apple. A generic Linux server may meet every technical requirement and still fail that stated condition.

This narrows the sensible audience. An Apple machine running a Linux host with KVM access is a less common setup than an ordinary workstation or cloud instance. Buying commodity AMD servers for a macOS farm would conflict with the project's own warning. Before evaluating networking or storage, decide whether your organization can supply and manage eligible hosts.

AMD tuning and shared folders still need host-specific testing

The README advises AMD users to begin conservatively. Assigning multiple CPU cores may reduce performance or cause instability on some models, and more than 8 GB of RAM may freeze installation at country selection. It recommends increasing memory only after installation and adding cores only after macOS has run reliably for several hours. Intel processors are described as more compatible.

Open issue 530 gives another concrete edge: on Fedora 43, a reporter could read a mounted shared directory and copy from Linux to macOS, but copying a 22 MB item back produced an insufficient-space message despite free host capacity. Issue 381 records QEMU rejecting a custom boot DMG on Windows 11 with AMD hardware. Both concern advertised setup paths and deserve reproduction on the exact host you plan to use.

Networking is flexible enough to create new operational work

Bridge mode shares the host address and relies on mapped ports. A macvlan can give the container its own address, but the README warns that the Docker host cannot reach that address without a second macvlan. DHCP mode can put the macOS guest itself on the home network, requiring /dev/vhost-net and broad device cgroup access. USB passthrough exposes /dev/bus/usb, while direct-disk passthrough maps host block devices into the guest.

Those options widen the failure and security surface. Direct disks can expose valuable data to guest actions. USB and network privileges need review on shared hosts. NAT is the safer first trial, with a disposable storage directory and no extra host devices. Add passthrough after the base guest survives installation and restart.

Recent releases support a trial, not a universal recommendation

GitHub showed 21,465 stars, 4 combined open issues and pull requests, and a last push on August 26, 2026. Release v3.12 was published five days earlier with a QEMU base-image update, a status-message fix, and documentation work. The dated push and small active queue point to maintained code, while the open reports remain tied to different CPUs, hypervisors, images, and filesystems.

For eligible Apple hardware, dockur/macos is one of the clearer ways to package a persistent macOS VM behind familiar container controls. The README is candid about unsupported Docker Desktop combinations, AMD limits, macvlan behavior, and licensing. If any one of those constraints hits your environment, choose a different virtualization path rather than expecting a Compose file to erase it.

Alternatives

ProjectWhat it isPick it when
Docker-OSXAnother QEMU and Docker route to a macOS guest with several image and recovery options.pick this instead when its image choices and troubleshooting material better match an existing Docker-OSX deployment.
OSX-KVMA QEMU and KVM macOS setup that exposes the virtual-machine pieces more directly.pick this instead when you want to understand and control the QEMU and OpenCore layer rather than operate through one container.
macos-virtualboxA script-driven macOS guest setup built around VirtualBox.pick this instead when VirtualBox is already your supported desktop hypervisor and KVM is unavailable.

What people are saying

  1. [velocity-scout] dockur/macos
  2. [velocity-scout] browser-use/macos-harness
  3. [hackernews] hdiutil is deprecated in macOS 27 Golden Gate
  4. [producthunt] Port Radar for macOS
  5. [hackernews] Claude writing a macOS driver for my obscure HP printer built only for Windows
  6. [hackernews] Claude Code Teaching macOS to Natively Print to the HP Laser 1008a

Sources

  1. dockur/macos README
  2. dockur/macos repository metadata
  3. dockur/macos v3.12 release
  4. Issue 530: shared directory free-space error
  5. Issue 381: custom boot DMG error

More self-hosted reviews

v2 · OpenShell · wigolo · Mindwtr · club-3090 · reclip · the whole board →