macinabox
macinabox
Docker app from SpaceInvaderOne's Repository
Overview
Macinabox downloads and installs various macOS versions as a VM on your Unraid server. With this new version, there’s no need for additional helper scripts. It will fully automate the installation of the VM, create the XML file, and select the latest q35 available on your server. All you need to do is choose the macOS version, specify the VM storage location, ISO location, and the container will handle the rest.
Usage- When run will download and install selected version of macOS as a VM if not present.
- If selected macOS vm is already present it will check the vms xml and fix if necessary
Are you fully compliant with Apple’s EULA?
Set this to "Yes" if you are running on Apple hardware. This is the only way to be EULA compliant. If not, leave it as "No" and the container will exit.
Operating System Version:
Choose the macOS version from the options below:
- Sequoia
- Sonoma
- Ventura --recommend install
- Monterey
- Big Sur
- Catalina
- Mojave
- High Sierra
Custom VM Name:
Use this if you want the VM name to differ from the OS version. Leave blank to use the OS name.
Vdisk Type:
Set the vdisk type to either raw or qcow2.
Vdisk Size:
Specify the desired size for the vdisk.
Delete and Replace OpenCore:
Select "Yes" to delete your VM's OpenCore image and replace it with a fresh one, or "No" to keep the existing one.
Default NIC Type:
Big Sur and newer default is 'virtio-net' older macos versions it is e1000-82545em. Change this to override the default NIC type for macOS versions that support it.
VM Images Location:
Set this to your VM storage location (e.g., Domains share).
ISOs Share Location:
This is where macinabox will store the install media
Appdata Location:
Specify where you want macinabox to store its appdata.
Notes
If you want multiple versions of the same macOS, ensure each has a unique name in the Custom VM Name box
In Unraid versions below 7, custom elements in the VM template will be removed if vm template edited.. Unraid, in all versions, might also change the NIC bus and slot that macOS expects. Re-run the container to fix the edited vm template after any edits.
The container dynamically builds the XML template during VM installation based on settings. It checks the highest QEMU version available and uses it in the template. If you downgrade Unraid, re-run Macinabox to adjust the XML accordingly.
You can view container activity via logs or Unraid browser notifications, if enabled.
Default icon for macinbox is installed with the VM.This doesnt perist over server reboots. To restore run container again. For all macOS icons (and many other systems) please install vm_custom_icons container.
Requirements
Runtime arguments
- Network
bridge- Shell
sh- Privileged
- true
Template configuration
Set to YES to use this container only if you are compliant with Apples EULA. To be compliant your server must be Apple Hardware (ie a Mac Pro/Mini) then the EULA states For virtualisation: “You may also install, use, and run up to two additional copies or instances of the Apple Software within virtual operating system environments on each Apple-branded computer you own or control.
- Target
- OKTORUN
- Default
- NO|YES
- Value
- NO
Choose macOS version to instal
- Target
- flavour
- Default
- Ventura|Sequoia|Sonoma|Monterey|Big Sur|Catalina|Mojave|High Sierra
- Value
- Ventura
Enter a different name if you want the VM to have a name other than the OS name. If left blank, the container will use the default OS name installed.
- Target
- CUSTOMNAME
Choose vdisk type raw or qcow2 (qcow2 takes less space)
- Target
- vdisktype
- Default
- raw|qcow2
- Value
- raw
Select the size of your virtual disk (vDisk) in Gigabytes G
- Target
- vdisksize
- Value
- 100G
Set to
- Target
- replaceopencore
- Default
- no|yes
- Value
- no
Override the default NIC type for macOS versions that support it. If unsupported, it reverts to a compatible version.
- Target
- overridenic
- Default
- virtio-net|e1000-82545em|virtio|vmxnet3
- Value
- virtio-net
CPU args for VM
- Default
- Skylake-Server,vendor=GenuineIntel,+hypervisor,+invtsc,kvm=on,+fma,+avx,+avx2,+aes,+ssse3,+sse4_2,+popcnt,+sse4a,+bmi1,+bmi2|Penryn,kvm=on,vendor=GenuineIntel,+kvm_pv_unhalt,+kvm_pv_eoi,+hypervisor,+invtsc,+pcid,+ssse3,+sse4.2,+popcnt,+avx,+avx2,+aes,+fma,+fma4,+bmi1,+bmi2,+xsave,+xsaveopt,+rdrand,check|Penryn,vendor=GenuineIntel,+hypervisor,+invtsc,kvm=on,+fma,+avx,+avx2,+aes,+ssse3,+sse4_2,+popcnt,+sse4a,+bmi1,+bmi2|host,vendor=GenuineIntel,+hypervisor,+invtsc,kvm=on,+fma,+avx,+avx2,+aes,+ssse3,+sse4_2,+popcnt,+sse4a,+bmi1,+bmi2
- Value
- Skylake-Server,vendor=GenuineIntel,+hypervisor,+invtsc,kvm=on,+fma,+avx,+avx2,+aes,+ssse3,+sse4_2,+popcnt,+sse4a,+bmi1,+bmi2
Please choose the storage location for your VM images on the server. The default path is set to /mnt/user/domains/
- Target
- /domains
- Default
- /mnt/user/domains/
- Value
- /mnt/user/domains/
Please choose the storage location for your ISO files on the server. The default path is set to /mnt/user/isos/
- Target
- /isos
- Default
- /mnt/user/isos/
- Value
- /mnt/user/isos/
Please choose the storage location for your appdata The default path is set to /mnt/user/appdata/macinabox/
- Target
- /config
- Default
- /mnt/user/appdata/macinabox
- Value
- /mnt/user/appdata/macinabox
- Target
- WHATVERSION
- Default
- 3
- Value
- 5
- Target
- /icons
- Value
- /usr/local/emhttp/plugins/dynamix.vm.manager/templates/images
Used so container can use unraid notification system during macOS creation process
- Target
- /host/usr/lib64
- Default
- /usr/lib64
- Value
- /usr/lib64
Location of where Unraid stores VM icons, aloowing container to use custom macOS icon
- Target
- /unraid_vm_icons
- Default
- /usr/local/emhttp/plugins/dynamix.vm.manager/templates/images/
- Value
- /usr/local/emhttp/plugins/dynamix.vm.manager/templates/images/
NVRAM location on host. Used so container can create a unique nvram file for the macOS VM
- Target
- /etc/libvirt/qemu/nvram/
- Default
- /etc/libvirt/qemu/nvram/
- Value
- /etc/libvirt/qemu/nvram/
UNRAID domain.cfg path. Used to find VM Default network source
- Target
- /vm/domain.cfg
- Default
- /boot/config/domain.cfg
- Value
- /boot/config/domain.cfg
Used so container can use unraid notification system during macOS creation process
- Target
- /host/usr/lib
- Default
- /usr/lib
- Value
- /usr/lib
Used so container can use unraid notification system during macOS creation process
- Target
- /host/lib64
- Default
- /lib64
- Value
- /lib64
Used so container can use unraid notification system during macOS creation process
- Target
- /host/usr/local/emhttp/webGui/scripts/
- Default
- /usr/local/emhttp/webGui/scripts/
- Value
- /usr/local/emhttp/webGui/scripts/
Used so container can use unraid notification system during macOS creation process
- Target
- /host/usr/local/emhttp/webGui/include/
- Default
- /usr/local/emhttp/webGui/include/
- Value
- /usr/local/emhttp/webGui/include/
Used so container can use unraid notification system during macOS creation process
- Target
- /host/tmp/notifications
- Default
- /tmp/notifications
- Value
- /tmp/notifications
Used so container can use unraid notification system during macOS creation process
- Target
- /host/boot/config/plugins/dynamix/
- Default
- /boot/config/plugins/dynamix/
- Value
- /boot/config/plugins/dynamix/
LIBVIRT Location on host. Used so container can define the macOS vm
- Target
- /var/run/libvirt
- Default
- /var/run/libvirt
- Value
- /var/run/libvirt
Used so container can use unraid notification system during macOS creation process
- Target
- /host/usr/bin
- Value
- /usr/bin
Used so container can use unraid notification system during macOS creation process
- Target
- /host/lib
- Default
- /lib
- Value
- /lib
UNRAID docker.sock. Used so container can use docker inspect to workout true locations of mapped locations to create the xml used to define the macOS VM
- Target
- /var/run/docker.sock
- Default
- /var/run/docker.sock
- Value
- /var/run/docker.sock
Categories
Download Statistics
Total Downloads Over Time
Details
spaceinvaderone/macinabox:latestRun Macinabox on Unraid.
Macinabox is listed in Community Apps for Unraid OS. Explore Unraid to build a flexible home server, NAS, or homelab.