diff --git a/compose.yml b/compose.yml index f00042a..332da01 100644 --- a/compose.yml +++ b/compose.yml @@ -6,6 +6,7 @@ services: VERSION: "13" devices: - /dev/kvm + - /dev/net/tun cap_add: - NET_ADMIN ports: diff --git a/kubernetes.yml b/kubernetes.yml index ce57f8d..d6fdc28 100644 --- a/kubernetes.yml +++ b/kubernetes.yml @@ -1,10 +1,11 @@ +--- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: macos-pvc spec: accessModes: - - ReadWriteOnce + - ReadWriteOnce resources: requests: storage: 64Gi @@ -16,57 +17,61 @@ metadata: labels: name: macos spec: - terminationGracePeriodSeconds: 120 # the Kubernetes default is 30 seconds and it may be not enough containers: - - name: macos - image: dockurr/macos - ports: - - containerPort: 8006 - protocol: TCP - - containerPort: 5000 - protocol: TCP - - containerPort: 5000 - protocol: UDP - securityContext: - privileged: true - env: - - name: RAM_SIZE - value: 4G - - name: CPU_CORES - value: "2" - - name: DISK_SIZE - value: "64G" - volumeMounts: - - mountPath: /storage - name: storage - - mountPath: /dev/kvm - name: dev-kvm + - name: macos + image: dockurr/macos + env: + - name: VERSION + value: "13" + - name: RAM_SIZE + value: "4G" + - name: CPU_CORES + value: "2" + - name: DISK_SIZE + value: "64G" + ports: + - containerPort: 8006 + - containerPort: 5900 + - containerPort: 5900 + protocol: UDP + securityContext: + capabilities: + add: + - NET_ADMIN + privileged: true + volumeMounts: + - mountPath: /storage + name: storage + - mountPath: /dev/kvm + name: dev-kvm + - mountPath: /dev/net/tun + name: dev-tun + terminationGracePeriodSeconds: 120 volumes: - - name: storage - persistentVolumeClaim: - claimName: macos-pvc - - name: dev-kvm - hostPath: - path: /dev/kvm + - name: storage + persistentVolumeClaim: + claimName: macos-pvc + - hostPath: + path: /dev/kvm + name: dev-kvm + - hostPath: + path: /dev/net/tun + type: CharDevice + name: dev-tun --- apiVersion: v1 kind: Service metadata: name: macos spec: - type: NodePort + ports: + - name: tcp-8006 + port: 8006 + - name: tcp-5900 + port: 5900 + - name: udp-5900 + port: 5900 + protocol: UDP selector: name: macos - ports: - - name: tcp-8006 - protocol: TCP - port: 8006 - targetPort: 8006 - - name: tcp-5900 - protocol: TCP - port: 5900 - targetPort: 5900 - - name: udp-5900 - protocol: UDP - port: 5900 - targetPort: 5900 + type: NodePort diff --git a/readme.md b/readme.md index 259dc43..854ea7d 100644 --- a/readme.md +++ b/readme.md @@ -33,6 +33,7 @@ services: VERSION: "13" devices: - /dev/kvm + - /dev/net/tun cap_add: - NET_ADMIN ports: @@ -45,7 +46,7 @@ services: Via Docker CLI: ```bash -docker run -it --rm -p 8006:8006 --device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 120 dockurr/macos +docker run -it --rm -p 8006:8006 --device=/dev/kvm --device=/dev/net/tun --cap-add NET_ADMIN --stop-timeout 120 dockurr/macos ``` Via Kubernetes: