ContainerUI is a vibe coded, native macOS application designed to create, inspect, and manage lightweight Linux containers powered by Apple's new lightweight OCI-compatible container service. Built entirely in Swift and SwiftUI, it harnesses macOS's native Virtualization.framework to run Linux containers as isolated, secure virtual machines with dedicated IP addresses and sub-second startup times.
Avoid confusing terminals or config files—manage your local virtualized container stack using a sleek, glassmorphic desktop interface.
The code was generated by Gemini 3.5 Flash and then reviewed by Claude Sonnet 4.6.
- ⚡ Modern Glassmorphic Dashboard: High-level telemetry of running container densities, allocated processor cores, memory caps, network segment bridges, and quick micro-image installers.
- 🚢 Full Container VM Lifecycle: Deploy, boot, stop, delete, and prune OCI container instances in beautiful cards.
- 📟 Real-Time Log Viewer: Easily fetch and audit output console streams with standard copy controls.
- 🐚 Interactive Exec Shell: Execute shell commands directly inside active containers (like
ls -la /oruname -a) with a retro green-on-black console. - 🖼️ Image Registry Management: Pull remote images directly from Docker Hub/OCI registries (e.g.,
alpine,ubuntu,nginx) or delete local layers with automated download progress sheets. - 💾 Persistent Disk Volumes: Create and attach dedicated
ext4block volumes to containers to preserve files across lifecycles. - 🌐 Network Diagnostics: Inspect virtual LAN bridges, gateways, NAT translations, and MAC addresses assigned to your individual VMs.
- ⚙️ Service Daemon Control: Start, stop, or restart the background container daemon (
container-apiserver) with granular controls.
- UI/UX: SwiftUI, AppKit integration (for frosted glass Visual Effects panels)
- Process Automation: Custom asynchronous Swift
Processwrapper to execute system APIs and parse outputs thread-safely - Serialization: Codable-based JSON decoders mapping native
/usr/local/bin/containeroutputs directly into Swift structures
To run this app and its underlying services, your system must meet the following specs:
- Hardware: Apple Silicon Mac (M1, M2, M3, M4 series)
- Operating System: macOS 14.0 (Sonoma) or newer
- Binary Utilities: Apple's official
containerframework utility installed on your path (defaults to/usr/local/bin/container). For reference, check out Apple Container GitHub.
Before running the application, make sure the macOS lightweight services have been configured. Run the following in your terminal:
# 1. Start the container api service daemon
container system start
# 2. Download and set up the recommended Linux kernel boot image
container system kernel set --recommendedWe provide a simple compilation script build.sh at the root workspace that packages the application files into a standard, double-clickable macOS .app bundle:
# Make the build script executable
chmod +x build.sh
# Run the compilation build script
./build.shLaunch the native compiled package from your terminal:
open ContainerUI.appAlternatively, double-click ContainerUI.app in your Finder window.
container_ui/
├── LICENSE # MIT License details
├── README.md # User manual and overview documentation
├── build.sh # Compilation shell script generating ContainerUI.app
└── ContainerUI/
├── ContainerApp.swift # Application entrypoint, routing, window styling, and glass backdrops
├── Models.swift # Strong Swift Decodable types mirroring container status tables
├── CommandRunner.swift # Subprocess execution controller with async stream wrappers
├── ContainerManager.swift # Centralized state engine managing refreshing and service APIs
└── Views/
├── SidebarView.swift # Left column navigating tabs with active counter badges
├── DashboardView.swift # Telemetry dashboard, quick pull row templates, online states
├── ContainersView.swift # Configured VMs listings, play/stop operations, layout toggles
├── ContainerCreateView.swift # Deploy wizard setting core memory sliders and ports
├── TerminalView.swift # Dark console logs streamer and emerald interactive shells
├── ImagesView.swift # Registry pulls list with progress dialogs
├── VolumesView.swift # persistent storage drives inspector and creator sheets
├── NetworksView.swift # Host network bridging vmnet diagnostics
└── SystemView.swift # Diagnostics, executable path tuning, and kernel setups
This project is licensed under the MIT License - see the LICENSE file for details.
0 comments
log in to comment.