Refactor: Reorganize services into standalone structure
This commit is contained in:
55
optimized/standalone/MacOS/README.md
Normal file
55
optimized/standalone/MacOS/README.md
Normal file
@@ -0,0 +1,55 @@
|
||||
# macOS VM
|
||||
|
||||
This directory contains the `docker-compose.yaml` for running a macOS virtual machine within Podman (or Docker). This setup is highly hardware-specific due to the use of `/dev/kvm` and direct device access, making it unsuitable for a Swarm environment.
|
||||
|
||||
## Running with Podman Compose
|
||||
|
||||
To run this service using `podman-compose`:
|
||||
|
||||
1. **Important**: Ensure your host system meets the requirements for running KVM-accelerated VMs (e.g., `/dev/kvm` is available and configured).
|
||||
2. Navigate to this directory:
|
||||
```bash
|
||||
cd optimized/standalone/MacOS
|
||||
```
|
||||
3. Start the service:
|
||||
```bash
|
||||
podman-compose up -d
|
||||
```
|
||||
|
||||
## Running with Podman
|
||||
|
||||
You can run the macOS VM directly with Podman. Pay close attention to the device mappings and network configuration.
|
||||
|
||||
```bash
|
||||
podman run -d \
|
||||
--name macos \
|
||||
--restart always \
|
||||
-e VERSION="15" \
|
||||
-e DISK_SIZE="50G" \
|
||||
-e RAM_SIZE="6G" \
|
||||
-e CPU_CORES="4" \
|
||||
--device /dev/kvm \
|
||||
--device /dev/net/tun \
|
||||
--cap-add NET_ADMIN \
|
||||
-p 8006:8006 \
|
||||
-p 5900:5900/tcp \
|
||||
-p 5900:5900/udp \
|
||||
-v ./macos:/storage \
|
||||
dockurr/macos
|
||||
```
|
||||
**Note**: The original `docker-compose.yaml` defines a custom network with a specific `ipv4_address`. To replicate this with `podman run`, you would first need to create the network:
|
||||
```bash
|
||||
podman network create --subnet 172.70.20.0/29 macos
|
||||
```
|
||||
Then, you would need to attach the container to this network and specify the IP:
|
||||
```bash
|
||||
# ... (previous podman run command parts)
|
||||
--network macos --ip 172.70.20.3 \
|
||||
dockurr/macos
|
||||
```
|
||||
|
||||
## Notes
|
||||
|
||||
* This service requires significant host resources and direct hardware access.
|
||||
* The `stop_grace_period` is important for proper VM shutdown.
|
||||
* Ensure the `./macos` directory exists and has appropriate permissions for the VM storage.
|
||||
Reference in New Issue
Block a user