Self-hosting macOS the easy way

Self-hosting macOS the easy way

Yulei Chen - Content-Engineerin bei sliplane.ioYulei Chen
5 min

Dockur macOS lets you run macOS inside a Docker container using QEMU virtualization. You get a full macOS desktop accessible through your browser via noVNC. It is great for testing, CI/CD pipelines, or running macOS apps without owning Apple hardware.

Sliplane is a managed container platform that handles server setup, SSL, and infrastructure for you. With one-click deployment, you can get a containerized macOS instance running in minutes.

Note: The preset runs macOS using software emulation (without KVM acceleration). This works on any server but performance will be slower than hardware-accelerated virtualization. If your server supports KVM, you can remove the KVM=N environment variable to enable acceleration.

Prerequisites

Before deploying, ensure you have a Sliplane account (free trial available).

Quick start

Sliplane provides one-click deployment with presets.

SliplaneDeploy macOS >
  1. Click the deploy button above
  2. Select a project
  3. Select a server (If you just signed up you get a 48-hour free trial server)
  4. Click Deploy!

About the preset

The one-click deploy above uses Sliplane's macOS preset. Here is what it includes:

  • dockurr/macos Docker image with QEMU virtualization
  • Specific version tag (2.30) for stability
  • Persistent storage mounted to /storage for the virtual disk image
  • macOS Sequoia (version 15) by default
  • Software emulation mode (KVM=N) for broad server compatibility
  • noVNC web interface on port 8006 for browser-based access

Next steps

Once the container is running, open the domain Sliplane assigned (e.g. macos-xxxx.sliplane.app) in your browser. You will see the macOS installation or desktop through the noVNC web interface.

Choosing a macOS version

The VERSION environment variable controls which macOS release gets installed. Change it in your service settings to pick a different version:

ValuemacOS Version
15macOS Sequoia (default)
14macOS Sonoma
13macOS Ventura
12macOS Monterey
11macOS Big Sur

After changing the version, redeploy the service. The installer will download and set up the selected release. Keep in mind that the initial installation takes a while because it downloads the full macOS image.

Storage

The /storage volume holds the virtual disk image. This is where macOS stores everything: the OS itself, apps, and user data. Make sure you have enough disk space on your server. A fresh macOS install needs at least 30 GB, and you will want room for apps and files on top of that.

KVM acceleration

The preset uses software emulation (KVM=N) by default so it works on any Sliplane server. If your server supports KVM (dedicated vCPU plans with nested virtualization), remove the KVM=N environment variable to enable hardware acceleration. This gives a significant performance boost.

Troubleshooting

If the container fails to start or is very slow, check the logs. Common issues include:

  • Slow performance: Software emulation is significantly slower than KVM-accelerated virtualization. For better performance, use a dedicated vCPU server and remove KVM=N.
  • Installation hangs: The initial macOS download and install can take 15-30 minutes (longer without KVM) depending on your server's internet speed. Be patient on the first boot.

For more details, check the dockur/macos GitHub repository.

Cost comparison

You can also self-host macOS containers with other cloud providers. Here is a pricing comparison for the most common ones:

ProvidervCPURAMDiskMonthly CostNote
Sliplane22 GB40 GB€9 (~$10.65)Flat rate, 1 TB bandwidth, SSL included
Fly.io22 GB40 GB~$18Disk and bandwidth billed separately
Render12 GB40 GB~$35100 GB bandwidth, Disk billed separately
Railway22 GB40 GB~$67 + $20 planPro plan floor, usage-based, bandwidth billed separately
Click here to see how these numbers were calculated.

(Assuming an always-on instance running 730 hrs/month)

  • Sliplane: flat €9/month for the Base server. Unlimited services on the same server, 1 TB egress and SSL included.
  • Fly.io: shared-cpu-2x 2 GB = $11.83/mo + 40 GB volume × $0.15/GB = $6 -> ~$17.83/mo. Egress billed separately ($0.02/GB in EU).
  • Render: closest match is Standard ($25, 1 vCPU / 2 GB) plus 40 GB disk × $0.25/GB = $10 -> ~$35/mo. Stepping up to Pro (2 vCPU / 4 GB) costs $85/mo + disk.
  • Railway (Pro plan): CPU 2 × $0.00000772/s × 2,628,000 s = $40.57; RAM 2 × $0.00000386/s × 2,628,000 s = $20.29; volume 40 × $0.00000006/s × 2,628,000 s = $6.31 -> ~$67/mo compute, plus the $20/mo Pro plan floor and $0.05/GB egress.

Bandwidth costs can add up fast on usage-based providers. Use our bandwidth cost comparison tool to see what your egress would cost on each platform.

FAQ

What can I use a containerized macOS for?

Common use cases include iOS/macOS app development and testing, running CI/CD pipelines that need a macOS environment, testing Safari-specific web behavior, and accessing macOS-only software without owning a Mac. It is also useful for running Xcode builds in automated workflows.

How do I change the disk size for the macOS VM?

The virtual disk size is controlled by the DISK_SIZE environment variable. Add it to your service settings with a value like 64G or 128G. The default is usually sufficient for a basic install, but you may want more space if you plan to install large applications or store files.

How do I update the macOS container?

Change the image tag in your service settings on Sliplane and redeploy. Check Docker Hub for the latest stable version. Your data on the /storage volume is preserved across redeployments.

Are there alternatives to running macOS in Docker?

Yes. You can rent a dedicated Mac Mini from providers like MacStadium or AWS EC2 Mac instances, but those start at $100+/month. For simple testing, BrowserStack or LambdaTest offer browser-based macOS access. If you only need a macOS-like desktop experience, Asahi Linux runs natively on Apple Silicon.

Does this comply with Apple's licensing terms?

Apple's macOS EULA restricts running macOS on non-Apple hardware. The dockur/macos project uses Apple's official installation media, but running it on non-Apple servers is a legal gray area. Make sure you understand and accept the licensing implications before deploying.

Self-host macOS now - It's easy!

Sliplane lets you run macOS in a container without managing servers or infrastructure.