macinabox

macinabox

Application Docker from SpaceInvaderOne's Repository

Vue d'ensemble

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
  1. When run will download and install selected version of macOS as a VM if not present.
  2. If selected macOS vm is already present it will check the vms xml and fix if necessary
Variables in the container

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.

Exigences

On your server make sure to have notifications enabled and docker update notifications enabled. This will allow the container to send notifications as macinabox runs.

Arguments d'exécution

Réseau
bridge
Coquille
sh
Privilégié
true

Configuration du modèle

Are you fully compliant with Apple’s EULA ?Variable

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.

Cible
OKTORUN
Défaut
NO|YES
Valeur
NO
Operating System VersionVariable

Choose macOS version to instal

Cible
flavour
Défaut
Ventura|Sequoia|Sonoma|Monterey|Big Sur|Catalina|Mojave|High Sierra
Valeur
Ventura
Custom VM NameVariable

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.

Cible
CUSTOMNAME
Vdisk TypeVariable

Choose vdisk type raw or qcow2 (qcow2 takes less space)

Cible
vdisktype
Défaut
raw|qcow2
Valeur
raw
vDisk SizeVariable

Select the size of your virtual disk (vDisk) in Gigabytes G

Cible
vdisksize
Valeur
100G
Delete and replace OpencoreVariable

Set to

Cible
replaceopencore
Défaut
no|yes
Valeur
no
Defualt NIC typeVariable

Override the default NIC type for macOS versions that support it. If unsupported, it reverts to a compatible version.

Cible
overridenic
Défaut
virtio-net|e1000-82545em|virtio|vmxnet3
Valeur
virtio-net
CPUARGSVariable

CPU args for VM

Défaut
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
Valeur
Skylake-Server,vendor=GenuineIntel,+hypervisor,+invtsc,kvm=on,+fma,+avx,+avx2,+aes,+ssse3,+sse4_2,+popcnt,+sse4a,+bmi1,+bmi2
VM Images LocationPathrw

Please choose the storage location for your VM images on the server. The default path is set to /mnt/user/domains/

Cible
/domains
Défaut
/mnt/user/domains/
Valeur
/mnt/user/domains/
Isos Share LocationPathrw

Please choose the storage location for your ISO files on the server. The default path is set to /mnt/user/isos/

Cible
/isos
Défaut
/mnt/user/isos/
Valeur
/mnt/user/isos/
Appdata Location:Pathrw

Please choose the storage location for your appdata The default path is set to /mnt/user/appdata/macinabox/

Cible
/config
Défaut
/mnt/user/appdata/macinabox
Valeur
/mnt/user/appdata/macinabox
macinabox versionVariable
Cible
WHATVERSION
Défaut
3
Valeur
5
unraid_vm_iconsPathrw
Cible
/icons
Valeur
/usr/local/emhttp/plugins/dynamix.vm.manager/templates/images
UNRAID /usr/lib64Pathrw

Used so container can use unraid notification system during macOS creation process

Cible
/host/usr/lib64
Défaut
/usr/lib64
Valeur
/usr/lib64
unraid vm icons host locactionPathrw

Location of where Unraid stores VM icons, aloowing container to use custom macOS icon

Cible
/unraid_vm_icons
Défaut
/usr/local/emhttp/plugins/dynamix.vm.manager/templates/images/
Valeur
/usr/local/emhttp/plugins/dynamix.vm.manager/templates/images/
NVRAM locationPathro

NVRAM location on host. Used so container can create a unique nvram file for the macOS VM

Cible
/etc/libvirt/qemu/nvram/
Défaut
/etc/libvirt/qemu/nvram/
Valeur
/etc/libvirt/qemu/nvram/
UNRIAD DOMAIN CONFIGPathrw

UNRAID domain.cfg path. Used to find VM Default network source

Cible
/vm/domain.cfg
Défaut
/boot/config/domain.cfg
Valeur
/boot/config/domain.cfg
UNRAID /usr/libPathrw

Used so container can use unraid notification system during macOS creation process

Cible
/host/usr/lib
Défaut
/usr/lib
Valeur
/usr/lib
UNRAID /lib64Pathrw

Used so container can use unraid notification system during macOS creation process

Cible
/host/lib64
Défaut
/lib64
Valeur
/lib64
UNRAID /usr/local/emhttp/webGui/scripts/Pathrw

Used so container can use unraid notification system during macOS creation process

Cible
/host/usr/local/emhttp/webGui/scripts/
Défaut
/usr/local/emhttp/webGui/scripts/
Valeur
/usr/local/emhttp/webGui/scripts/
UNRAID /usr/local/emhttp/webGui/include/Pathrw

Used so container can use unraid notification system during macOS creation process

Cible
/host/usr/local/emhttp/webGui/include/
Défaut
/usr/local/emhttp/webGui/include/
Valeur
/usr/local/emhttp/webGui/include/
UNRAID /tmp/notificationsPathrw

Used so container can use unraid notification system during macOS creation process

Cible
/host/tmp/notifications
Défaut
/tmp/notifications
Valeur
/tmp/notifications
UNRAID /boot/config/plugins/dynamix/Pathrw

Used so container can use unraid notification system during macOS creation process

Cible
/host/boot/config/plugins/dynamix/
Défaut
/boot/config/plugins/dynamix/
Valeur
/boot/config/plugins/dynamix/
LIBVIRT LocationPathrw

LIBVIRT Location on host. Used so container can define the macOS vm

Cible
/var/run/libvirt
Défaut
/var/run/libvirt
Valeur
/var/run/libvirt
UNRAID /usr/binPathrw

Used so container can use unraid notification system during macOS creation process

Cible
/host/usr/bin
Valeur
/usr/bin
UNRAID /libPathrw

Used so container can use unraid notification system during macOS creation process

Cible
/host/lib
Défaut
/lib
Valeur
/lib
UNRAID docker.sockPathrw

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

Cible
/var/run/docker.sock
Défaut
/var/run/docker.sock
Valeur
/var/run/docker.sock

Télécharger les statistiques

3,225,780
Total des téléchargements
3,036
Ce mois-ci
1,797
Moyenne / Mois

Total des téléchargements au fil du temps

Chargement du graphique...

Détails

Référentiel
spaceinvaderone/macinabox:latest
Dernière mise à jour2024-11-06
Première vue2019-10-25

Exécutez Macinabox sur Unraid.

Macinabox est listé dans Community Apps pour Unraid OS. Explorez Unraid pour créer un serveur domestique flexible, un NAS ou un laboratoire domestique.