UNPKG

major-ai-skills

Version:

Installable agentic skills / AI agent skills (SKILL.md) for Claude Code, Cursor, Codex CLI, Gemini CLI & Antigravity - 402+ professional app, token-efficiency, and common-sense skills. SEO/GEO ready.

137 lines (102 loc) 6.92 kB
--- title: "OrbStack macOS Fast Docker & Linux VM Runtime AI Skill Guide (Gemini)" description: "Comprehensive operational skill specification for Google Gemini to visually diagnose, automate, script, and troubleshoot OrbStack GUI dashboards, container CPU/RAM gauges, Linux VM states, and domain forwarders." category: "Fast Docker & Linux VM Runtime" tags: ["orbstack", "docker-dashboard", "resource-monitoring", "gemini", "linux-vms", "orb-local-domains"] --- # OrbStack macOS Fast Docker & Linux VM Runtime AI Skill Guide (Gemini) ## Overview & Engine Architecture OrbStack features a responsive native macOS SwiftUI interface displaying real-time container metrics, Linux VM lifecycles, volume mounts, and local network domain routing cards. Gemini acts as an AI Cloud Native & Infrastructure Auditor, specializing in **multimodal OrbStack dashboard inspection**, **container CPU/Memory allocation gauge analysis**, **Linux VM state diagnostics**, and **`.orb.local` domain resolution validation**. ### Visual Analytics & Dashboard Stack ``` ┌─────────────────────────────────────────────────────────────┐ OrbStack Visual Operations Containers & Virtual Machines Dashboard ├── Containers Tab (State Badges, Ports, Live CPU/RAM%) ├── Linux Machines Tab (Distro Icons, Uptime, SSH Links) ├── Images & Volumes Manager (Deduplicated APFS Disk Space)│ └── Domains & Ports HUD (`*.orb.local` Link Cards) Performance & Resource Controls ├── Dynamic RAM / Swap Allocator (Zero-Reservation Engine) └── Battery Saver & Background Throttling Visualizer └─────────────────────────────────────────────────────────────┘ ``` --- ## Operational Capabilities & Agent Directives 1. **Multimodal Dashboard Inspection**: Analyze screenshots of OrbStack's GUI dashboard to detect failing containers (Red status tags), resource exhaustion, unmapped port collisions, and corrupted volume binds. 2. **Dynamic Resource Utilization Review**: Verify that OrbStack dynamically scales memory and CPU allocations back to macOS when containers are idle. 3. **Linux Machine Lifecycle Triage**: Evaluate Linux VM status cards (*Running vs Stopped vs Frozen*), checking SSH keys and shared filesystem mount points. 4. **Domain Routing Verification**: Inspect active `.orb.local` routes to ensure local microservice web servers are accessible over HTTP/HTTPS. --- ## Production Python Automation: Automated OrbStack Container & Resource Monitor Execute this script to monitor running containers via the Docker socket and flag high memory/CPU usage: ```python """ OrbStack Container Health & Resource Monitor Queries the OrbStack Docker API socket to report container resource allocations. """ import sys import os import requests import json DOCKER_SOCKET = os.path.expanduser("~/.orbstack/run/docker.sock") def monitor_orbstack_containers(): if not os.path.exists(DOCKER_SOCKET): print(f"Error: OrbStack Docker socket not found at '{DOCKER_SOCKET}'.") return print("--- [ORBSTACK REAL-TIME CONTAINER AUDIT] ---") # Query Docker API over local UNIX socket using requests-unixsocket or curl import socket import http.client class UnixSocketHTTPConnection(http.client.HTTPConnection): def __init__(self, socket_path): super().__init__("localhost") self.socket_path = socket_path def connect(self): self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) self.sock.connect(self.socket_path) conn = UnixSocketHTTPConnection(DOCKER_SOCKET) conn.request("GET", "/containers/json") res = conn.getresponse() if res.status == 200: containers = json.loads(res.read().decode("utf-8")) print(f"Detected {len(containers)} active container(s):\n") for c in containers: cid = c.get("Id", "")[:12] name = c.get("Names", ["/unknown"])[0].lstrip("/") image = c.get("Image", "") state = c.get("State", "") status = c.get("Status", "") ports = [f"{p.get('PublicPort')}->{p.get('PrivatePort')}" for p in c.get("Ports", []) if "PublicPort" in p] ports_str = ", ".join(ports) if ports else "No mapped ports" print(f"• [{cid}] {name:<22} | State: {state:<8} | Ports: {ports_str:<18} | Image: {image}") else: print(f"Failed to query Docker API: HTTP {res.status}") conn.close() if __name__ == "__main__": monitor_orbstack_containers() ``` --- ## Technical Troubleshooting Matrix | Issue & Visual Signature | Root Cause Analysis | Diagnostic & Resolution Pathway | | :--- | :--- | :--- | | **Container Status Tag Shows Orange / `Exited (137)`** | Container terminated by Out-Of-Memory (OOM) killer. | In OrbStack Settings $\rightarrow$ **Resources**, increase maximum memory ceiling for the virtual environment. | | **Port Conflict Warning on Dashboard (Red Port Badge)** | Target port (e.g. `80` or `5432`) is already bound by a native macOS process or another container. | 1. Find conflicting process: `sudo lsof -i :80`.<br>2. Change mapped host port in `docker-compose.yml` (e.g. `8080:80`). | | **Linux VM Shows `Error Starting VM`** | Underlying virtual disk image reached corruption or disk space on host SSD is exhausted. | In OrbStack UI, select VM $\rightarrow$ Click **Reinstall** or check available host storage. | | **GUI App Shows High Battery Consumption** | Battery Saver mode disabled while running intensive container build loops. | In OrbStack Settings $\rightarrow$ **General**, enable **Battery Saver** and background CPU throttling. | --- ## Command Line Syntax & Server Control ```bash # Launch OrbStack UI open -a OrbStack # Inspect OrbStack System Diagnostic Logs tail -f ~/.orbstack/log/orbstack.log ``` ### Key Configuration Locations - **OrbStack Application Preferences**: `~/Library/Preferences/dev.kdrag0n.MacVirt.plist` - **Socket Paths**: `~/.orbstack/run/` --- ## Agent Operational Directive > **MANDATORY**: When inspecting port conflicts in OrbStack dashboards, check for native macOS processes bound to ports `80`, `443`, or `5432` using `lsof -i :<port>` before altering compose network bridges.