macinabox

macinabox

Docker 应用程序 from SpaceInvaderOne's Repository

概述

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.

要求

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.

运行时参数

网络
bridge
外壳
sh
特权
true

模板配置

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.

目标
OKTORUN
默认值
NO|YES
价值
NO
Operating System VersionVariable

Choose macOS version to instal

目标
flavour
默认值
Ventura|Sequoia|Sonoma|Monterey|Big Sur|Catalina|Mojave|High Sierra
价值
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.

目标
CUSTOMNAME
Vdisk TypeVariable

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

目标
vdisktype
默认值
raw|qcow2
价值
raw
vDisk SizeVariable

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

目标
vdisksize
价值
100G
Delete and replace OpencoreVariable

Set to

目标
replaceopencore
默认值
no|yes
价值
no
Defualt NIC typeVariable

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

目标
overridenic
默认值
virtio-net|e1000-82545em|virtio|vmxnet3
价值
virtio-net
CPUARGSVariable

CPU args for VM

默认值
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
价值
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/

目标
/domains
默认值
/mnt/user/domains/
价值
/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/

目标
/isos
默认值
/mnt/user/isos/
价值
/mnt/user/isos/
Appdata Location:Pathrw

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

目标
/config
默认值
/mnt/user/appdata/macinabox
价值
/mnt/user/appdata/macinabox
macinabox versionVariable
目标
WHATVERSION
默认值
3
价值
5
unraid_vm_iconsPathrw
目标
/icons
价值
/usr/local/emhttp/plugins/dynamix.vm.manager/templates/images
UNRAID /usr/lib64Pathrw

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

目标
/host/usr/lib64
默认值
/usr/lib64
价值
/usr/lib64
unraid vm icons host locactionPathrw

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

目标
/unraid_vm_icons
默认值
/usr/local/emhttp/plugins/dynamix.vm.manager/templates/images/
价值
/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

目标
/etc/libvirt/qemu/nvram/
默认值
/etc/libvirt/qemu/nvram/
价值
/etc/libvirt/qemu/nvram/
UNRIAD DOMAIN CONFIGPathrw

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

目标
/vm/domain.cfg
默认值
/boot/config/domain.cfg
价值
/boot/config/domain.cfg
UNRAID /usr/libPathrw

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

目标
/host/usr/lib
默认值
/usr/lib
价值
/usr/lib
UNRAID /lib64Pathrw

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

目标
/host/lib64
默认值
/lib64
价值
/lib64
UNRAID /usr/local/emhttp/webGui/scripts/Pathrw

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

目标
/host/usr/local/emhttp/webGui/scripts/
默认值
/usr/local/emhttp/webGui/scripts/
价值
/usr/local/emhttp/webGui/scripts/
UNRAID /usr/local/emhttp/webGui/include/Pathrw

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

目标
/host/usr/local/emhttp/webGui/include/
默认值
/usr/local/emhttp/webGui/include/
价值
/usr/local/emhttp/webGui/include/
UNRAID /tmp/notificationsPathrw

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

目标
/host/tmp/notifications
默认值
/tmp/notifications
价值
/tmp/notifications
UNRAID /boot/config/plugins/dynamix/Pathrw

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

目标
/host/boot/config/plugins/dynamix/
默认值
/boot/config/plugins/dynamix/
价值
/boot/config/plugins/dynamix/
LIBVIRT LocationPathrw

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

目标
/var/run/libvirt
默认值
/var/run/libvirt
价值
/var/run/libvirt
UNRAID /usr/binPathrw

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

目标
/host/usr/bin
价值
/usr/bin
UNRAID /libPathrw

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

目标
/host/lib
默认值
/lib
价值
/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

目标
/var/run/docker.sock
默认值
/var/run/docker.sock
价值
/var/run/docker.sock

下载统计数据

3,225,780
下载总数
3,036
本月
1,797
平均每月

长期下载总量

加载图表...

详细信息

存储库
spaceinvaderone/macinabox:latest
最后更新2024-11-06
初见2019-10-25

在Unraid 上运行 Macinabox 。

Macinabox 已被列入Unraid OS 的社区应用程序。探索Unraid ,构建灵活的家庭服务器、NAS 或家庭实验室。