{"id":28895731,"url":"https://github.com/ducheharsh/apple-container-desktop","last_synced_at":"2026-04-11T04:33:48.290Z","repository":{"id":300300217,"uuid":"1005823858","full_name":"ducheharsh/apple-container-desktop","owner":"ducheharsh","description":"🐳 Modern desktop GUI for Apple's container CLI - Docker Desktop alternative for Apple Silicon Macs. Built with React + Tauri.","archived":false,"fork":false,"pushed_at":"2025-10-27T20:37:41.000Z","size":29490,"stargazers_count":30,"open_issues_count":4,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-10-27T22:23:28.458Z","etag":null,"topics":["apple","apple-silicon","container","desktop-app","gui","macos","react","rust","tauri"],"latest_commit_sha":null,"homepage":"https://container-gui.harshduche.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ducheharsh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-20T22:20:50.000Z","updated_at":"2025-10-27T09:15:02.000Z","dependencies_parsed_at":"2025-06-28T01:25:29.070Z","dependency_job_id":null,"html_url":"https://github.com/ducheharsh/apple-container-desktop","commit_stats":null,"previous_names":["ducheharsh/apple-container-desktop"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/ducheharsh/apple-container-desktop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ducheharsh%2Fapple-container-desktop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ducheharsh%2Fapple-container-desktop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ducheharsh%2Fapple-container-desktop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ducheharsh%2Fapple-container-desktop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ducheharsh","download_url":"https://codeload.github.com/ducheharsh/apple-container-desktop/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ducheharsh%2Fapple-container-desktop/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31669116,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T17:19:37.612Z","status":"online","status_checked_at":"2026-04-11T02:00:05.776Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apple","apple-silicon","container","desktop-app","gui","macos","react","rust","tauri"],"created_at":"2025-06-21T05:08:16.641Z","updated_at":"2026-04-11T04:33:48.276Z","avatar_url":"https://github.com/ducheharsh.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cbr /\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://container-gui.harshduche.com\"\u003e\n    \u003cimg src=\"https://github.com/user-attachments/assets/b46c1f73-ec9b-4a4b-9057-22759596c420\" width=\"100px\" alt=\"Container Gui logo\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch2 align=\"center\" \u003eContainer GUI \u003c/h2\u003e\n\nA modern desktop GUI application for Apple's container CLI tool, built with Tauri (Rust) and React. This application provides a user-friendly interface for managing Apple containers on macOS, designed specifically for Apple Silicon.\n\n## Features\n\nContainer GUI supports all major Apple container CLI features through an intuitive graphical interface:\n\n### 🚀 Container Management\n- **Run Containers** with comprehensive options:\n  - Memory and CPU resource limits (`--memory`, `--cpus`)\n  - Architecture selection (ARM64, AMD64 with Rosetta)\n  - Volume mounts (`--volume` and `--mount` syntax)\n  - Environment variables\n  - Interactive/TTY modes\n  - Background execution with dedicated IP addresses\n  - DNS domain configuration\n\n### 🏗️ Image Building \u0026 Multi-Architecture Support\n- **Builder Management**:\n  - Start/stop/delete builder containers\n  - Configure builder resources (memory, CPUs)\n  - Status monitoring\n- **Multi-Platform Builds**:\n  - Build for ARM64 and AMD64 architectures simultaneously\n  - Dockerfile editor with syntax highlighting\n  - Build context selection\n  - Registry push integration\n\n### 📊 Container Monitoring \u0026 Inspection\n- **Container Logs**:\n  - Real-time log streaming with follow mode\n  - Boot logs viewing (`--boot` option)\n  - Log filtering (tail, since, until)\n  - System logs access\n  - Download logs to file\n- **Resource Inspection**:\n  - Detailed JSON inspection of containers and images\n  - Formatted JSON output with copy-to-clipboard\n  - Container and image metadata viewing\n\n### 🖥️ System Management\n- **System Overview**:\n  - Container and image statistics\n  - System status monitoring\n  - Resource usage insights\n- **Advanced Features**:\n  - System information display\n  - Container/image inspection tools\n  - Quick navigation to all features\n\n### 🌐 Networking (Apple Container Approach)\n- **Dedicated IP Addresses**: Each container gets its own IP address\n- **No Port Mapping Required**: Direct access via container IP\n- **DNS Domain Support**: Access containers via hostname.domain\n- **Network Isolation**: Secure container-to-container communication\n\n## Apple Container CLI Integration\n\nThis GUI interfaces with Apple's native container CLI, supporting all major commands:\n\n```bash\n# Container operations\ncontainer run --memory 4g --cpus 8 --arch arm64 nginx:latest\ncontainer ls --format json --all\ncontainer logs --follow --boot my-container\ncontainer stop my-container\n\n# Image operations  \ncontainer build --arch arm64 --arch amd64 --tag my-app:latest .\ncontainer images list --format json\ncontainer images push my-app:latest\n\n# Builder management\ncontainer builder start --memory 32g --cpus 8\ncontainer builder stop\ncontainer builder delete\n\n# System operations\ncontainer system info\ncontainer system logs\ncontainer inspect my-container\n```\n\n## Requirements\n\n- **macOS 15+** (recommended macOS 26 beta for best compatibility)\n- **Apple Silicon Mac** (required)\n- **Apple Container CLI** installed from [GitHub releases](https://github.com/apple/container/releases)\n- **Xcode 26 Beta** (for development)\n\n## Installation\n\n1. **Install Apple Container CLI**:\n   ```bash\n   # Download from GitHub releases\n   # https://github.com/apple/container/releases\n   \n   # Install and start the system\n   container system start\n   ```\n\n2. **Install Container GUI**:\n   ```bash\n   # Clone the repository\n   git clone https://github.com/your-repo/container-gui.git\n   cd container-gui\n   \n   # Install dependencies\n   npm install\n   \n   # Run in development mode\n   npm run tauri dev\n   \n   # Build for production\n   npm run tauri build\n   ```\n\n## Usage\n\n### Running Containers\n\n1. Navigate to **Run Container**\n2. Configure your container:\n   - Set image name (e.g., `nginx:latest`)\n   - Adjust memory/CPU limits as needed\n   - Add volume mounts for file sharing\n   - Set environment variables\n   - Choose architecture (ARM64/AMD64)\n3. Click **Run Container**\n4. Access your container via its dedicated IP address (shown in container list)\n\n### Building Images\n\n1. Navigate to **Build Image**\n2. Manage builder resources:\n   - Start builder with custom memory/CPU allocation\n   - Monitor builder status\n3. Configure build:\n   - Enter image tag\n   - Select target architectures\n   - Edit Dockerfile in integrated editor\n4. Click **Build Image**\n5. Optionally push to registry after build\n\n### Viewing Logs\n\n1. Navigate to **Logs**\n2. Select a container from the dropdown\n3. Configure log options:\n   - Enable follow mode for live streaming\n   - Show boot logs for VM startup information\n   - Set tail, since, until filters\n4. View real-time logs or download to file\n\n### System Monitoring\n\n1. Navigate to **System Control**\n2. View system statistics and container overview\n3. Inspect containers and images:\n   - Select resource type (container/image)\n   - Choose item to inspect\n   - View detailed JSON metadata\n4. Access system logs and information\n\n## Apple Container Networking\n\nUnlike Docker, Apple containers use a different networking approach:\n\n- **No Port Mapping**: Instead of `-p 8080:80`, each container gets a dedicated IP\n- **Direct Access**: Access containers directly via their IP address\n- **DNS Support**: Use `--dns-domain test` to access via hostname (e.g., `my-app.test`)\n- **Container Discovery**: Use `container ls` to find container IP addresses\n\n### Example Workflow\n\n```bash\n# Run a web server\ncontainer run -d --name my-web --dns-domain test nginx:latest\n\n# Check container IP\ncontainer ls\n# Shows: my-web running at 192.168.64.3\n\n# Access directly\ncurl http://192.168.64.3\n# Or via DNS: curl http://my-web.test\n```\n\n## Architecture\n\n- **Frontend**: React 18 + Tailwind CSS\n- **Backend**: Tauri 2.x (Rust)\n- **Container Runtime**: Apple Container CLI\n- **Platform**: macOS (Apple Silicon optimized)\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Test with Apple Container CLI\n5. Submit a pull request\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\n- Apple for the open-source Container project\n- Tauri team for the excellent desktop app framework\n- React and Tailwind CSS communities\n\n---\n\n**Note**: This GUI is designed specifically for Apple's container CLI and requires Apple Silicon hardware. It provides a modern alternative to command-line container management on macOS.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fducheharsh%2Fapple-container-desktop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fducheharsh%2Fapple-container-desktop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fducheharsh%2Fapple-container-desktop/lists"}