Docker lets you run macOS in the most unusual places, like a Synology NAS, a computer that lacks a dedicated HDMI output and uses an AMD chipset.

Legal Disclaimer: According to Apple's EULA, virtualizing macOS is only permitted on genuine Apple computers. This guide is for educational purposes only.


Why Docker and Not Synology's VM Manager?

Synology provides its own virtual machine software, but it doesn't natively support macOS for two reasons:

  1. The legal restrictions mentioned above
  2. Until recently, it emulated an outdated chipset lacking USB 3.0 and PCIe support

While Synology has updated their virtualization software to support the newer Q35 chipset for QEMU, I have not heard of anyone successfully installing macOS to run via it's virtual machine software.

What is Docker?

For those unfamiliar, Docker is a containerization platform that uses packages and small containers to run services. It's a lightweight form of virtualization popular among developers. The beauty of this approach is that someone has already created a Docker container for macOS, making our experiment possible.

Setting Up macOS Ventura on Synology

Prerequisites

  • A Synology NAS (I'm using a DS923+ with 32GB RAM)
  • Container Manager (Docker) installed on your Synology
  • At least 8GB of RAM to allocate to the virtual machine

Installation Steps

  1. Open Container Manager on your Synology
  2. Click on Registry and search for "macOS"
  3. Locate "docker/macOS" and download the image
  4. Click Project, then Create
  5. Select your storage path
  6. Name your project (e.g., "ventura" or "sequoia")
  7. Create a Docker compose YAML file with the following configuration:
version: '3'
services:
macos:
container_name: ventura  # Or "sequoia" if using macOS Sequoia
image: docker/macos
environment:
    - MACOS_VERSION=ventura  # Change to "sequoia" for macOS Sequoia
mem_limit: 8G  # Allocates 8GB RAM, default is 4GB if not specified
ports:
    - "5999:5999"  # VNC port for accessing the virtual machine

Once configured, access your virtualized macOS through a web browser using the IP address of your Synology followed by the port number specified in your YAML file (e.g., http://192.168.1.100:5999).

Performance and Usability

The DS923+ with its dual-core AMD Ryzen R600 isn't a performance monster, but it's surprisingly capable when running macOS Ventura:

  • It performed more than twice as fast as a Mac Mini 2010 in Geekbench 6 tests
  • The Weather app, which typically has graphical glitches on unsupported hardware, renders properly
  • Apple Maps, however, appears almost completely blank
  • Web browsing works well with Firefox (Safari experienced rendering issues)

In my testing, the About This Mac page reported the system as an iMac Pro with a 2.6 GHz i3 processor, 7MB of VRAM, and 8GB of RAM (matching my allocation).

Installation Note: During installation, the macOS installer may cause your Synology to reboot. Don't worry—just sign back in, restart the Container Manager, and continue where you left off. This might happen multiple times during the process.

macOS Sequoia (macOS 15) Status

As of this writing, macOS 15 Sequoia support is still problematic in this setup:

  • The installer background doesn't load properly
  • Performance is painfully slow
  • For now, older macOS versions like Ventura offer a better experience

Running on Ubuntu

The same approach works on Ubuntu (and potentially other Linux distributions) with a few additional terminal commands:

# Install Docker
sudo apt update
sudo apt install docker.io

# Start Docker
sudo systemctl start docker

# Add your user to the Docker group
sudo usermod -aG docker $USER

# Navigate to your Docker compose file directory
cd ~/Documents/docker-macos

# Run the container
docker-compose up

When running on more powerful hardware (like a Mini PC with an i9-12900H), performance can rival that of a Mac Mini M1, even without GPU acceleration.

Conclusion

While macOS is usable through this Docker method on a Synology NAS, it's still a bit of a novelty. For serious VM work on NAS hardware, a Linux distro would likely be a better choice. That said, it's an impressive technical achievement and demonstrates the flexibility of both Docker and modern NAS systems.

As dockerized macOS continues to develop, we may see improved performance and compatibility with newer macOS versions. For now, it's a fun experiment for the technically curious.

Note: Docker containers can consume significant storage space. Remember to clean up unused images and containers when you want to free up space.