New Self-hosted CI/CD infrastructure for Mac

Build a Private Mac Cloud

Self-hosted GitHub Actions runners, instant macOS VMs, and fleet management for iOS and Mac teams. On hardware you already own.

One-time purchase. No subscription. No cloud lock-in.

CI/CD Pipelines
Self-Hosted GitHub Runners
MDM Testing
Dev Environments

Self-Hosted CI/CD

Run GitHub Actions runners on your own Macs. Zero per-minute cloud billing, full control over your build environment.

Instant VM Cloning

Create a VM from template in under 30 seconds. APFS snapshots restore in milliseconds. No disk space wasted.

One-Time Purchase

Pay once, own forever. No subscriptions, no per-seat licensing, no cloud dependency. Works fully offline.

Why CiderStack

Stop renting infrastructure you already own

Cloud Mac CI charges you per minute. Enterprise tools lock you into subscriptions. CiderStack gives you a full macOS virtualization platform — one payment, no strings attached.

Cloud CI & subscription tools
  • $500-2,000+/month in CI costs or subscriptions
  • Per-seat, per-node, or per-minute billing
  • Cloud dependency — your pipeline stops if they go down
  • CLI-only or complex enterprise setup
CiderStack
  • One-time purchase — yours forever
  • Unlimited VMs on every licensed node
  • Runs on your hardware — works fully offline
  • Full GUI + CLI with built-in fleet management
Features

Everything you need to run macOS at scale

From single-machine dev work to multi-node CI/CD fleets.

Automation-First CLI

Full control from the command line. Script your entire VM lifecycle — create, snapshot, clone, destroy. Perfect for CI/CD pipelines and GitHub Actions workflows.

Terminal

Templates & Cloning

Save your perfect VM setup as a template. Clone new instances in under 30 seconds using APFS copy-on-write — no extra disk space required.

Instant Snapshots

Sub-second snapshot and restore. Keep named restore points like "pre-enrollment" or "clean-xcode". Only deltas are stored — minimal disk overhead.

OCI Image Support

Pull and run OCI-compatible macOS images. Standardize your build environments across your team with container-like workflows.

Apple platform note: Apple's Virtualization.framework limits concurrent VMs to 2 per Mac. You can store unlimited VMs, but only run 2 simultaneously. This is an Apple limitation — we want you to know before you buy. Scale horizontally with Fleet Manager across multiple Macs.
Scale horizontally

Manage your Mac cloud from one dashboard

Fleet Manager connects all your Macs into a single control plane. Manage VMs, monitor resources, and orchestrate CI/CD runners across your entire infrastructure.

Real-time CPU, memory, and disk metrics per node
Create, start, and stop VMs on any Mac in your fleet
Zero-config networking with encrypted peer-to-peer connections
Explore Fleet Manager
Fleet Manager Demo
Brew CI/CD in action
CI/CD Orchestrator

Brew: GitHub Actions on your Macs

Brew turns your Mac fleet into a self-hosted CI/CD platform. Push code, Brew provisions a fresh VM, runs your GitHub Actions workflow, and tears it down — automatically.

Ephemeral VMs — every job gets a clean environment
Chip-aware scheduling — route jobs to M1, M2, or M4
Runner pools with auto-scaling and concurrency limits
Visual workflow builder with YAML export
Explore Brew CI/CD
Developer SDK

Automate everything with code

First-class Python and JavaScript SDKs to manage VMs, snapshots, and your entire fleet programmatically.

Py

Python SDK

pip install ciderstack
from ciderstack import FleetClient client = FleetClient("192.168.1.100", api_token="csk_abc123...") # List VMs on this node vms = client.list_vms() for vm in vms: print(f"{vm.name}: {vm.state}") # Run a command inside a VM result = client.exec_command( vm_id="vm-uuid", command="xcodebuild test", ssh_user="admin", ssh_password="password" ) print(result.stdout)
Async support Type hints Fleet management
JS

JavaScript SDK

npm install @ciderstack/fleet-sdk
import { FleetClient } from "@ciderstack/fleet-sdk"; const client = new FleetClient(); // Create a VM from template const vm = await client.createVM({ name: "ci-runner", template: "Xcode-16", }); // Run a command const result = await vm.exec("xcodebuild test"); console.log(result.stdout); // Snapshot and clean up await vm.snapshot("post-test"); await vm.destroy();
TypeScript ESM + CJS Fleet management
Simple pricing

Pay once, own forever.

Start for free, scale when you need to.

No subscriptions. One-time purchase includes all v1.x updates. No credit card required to start your trial.

View pricing

Build your Mac cloud today

Download CiderStack and spin up your first VM in minutes. Self-hosted CI/CD, instant snapshots, and fleet management — 14-day free trial, no credit card required.