Free, open-source desktop for containers and Linux VMs.
Lightweight Linux VMs, Docker containers, and Kubernetes β all in one app.
English Β· δΈζ
Download Β· Issues Β· Architecture Β· Tutorial Β· Changelog
OrbStack is great, but it's closed-source and macOS-only. Docker Desktop is heavy and requires paid subscriptions. Podman Desktop and Rancher Desktop use Electron (300-500MB RAM). We believe developers deserve something better:
- Name meaning: CrateBay =
crate(containers, and a nod to Rust crates) +bay(a home port for your VMs and dev environments) - 100% free & open source β Apache 2.0, no license fees, no telemetry
- Rust + Tauri native β not Electron, idles at <200MB RAM
- VM + Containers unified β one tool for everything
- Cross-platform β macOS, Linux, and Windows
| CrateBay | OrbStack | Docker Desktop | Podman Desktop | Colima | |
|---|---|---|---|---|---|
| Open source | β | β | Partial | β | β |
| Free for commercial use | β | β | β (>250 employees) | β | β |
| GUI | Tauri (native) | Swift (native) | Electron | Electron | None |
| Idle RAM | <200 MB | <1 GB | 3-6 GB | 300-500 MB | ~400 MB |
| macOS | β | β | β | β | β |
| Windows | β | β | β | β | β |
| Linux | β | β | β | β | β |
| Docker management | β | β | β | β | β |
| Linux VMs | β | β | β | β | Indirect |
| Kubernetes | β (K3s + Dashboard) | β | β | β | β (K3s) |
| Auto port forwarding | β | β | β | β | β |
| VirtioFS file sharing | β | β | β | β | β |
| Tech stack | Rust | Swift | Go + Electron | Electron + TS | Go |
| Feature | macOS | Linux | Windows | Status |
|---|---|---|---|---|
| Docker container management | β | β | β | Working |
| Container log streaming | β | β | β | Working |
| Container exec / terminal | β | β | β | Working |
| Container env variable viewer | β | β | β | Working |
| Dashboard & GUI | β | β | β | Working |
| Image search (Docker Hub / Quay) | β | β | β | Working |
| Local image management (list/remove/tag/inspect) | β | β | β | Working |
| Import / Push images (docker load/push) | β | β | β | Working |
| Package image from container (docker commit) | β | β | β | Working |
| Docker volume management | β | β | β | Working |
| Lightweight Linux VMs | β Virtualization.framework | β KVM | β Hyper-V | Working |
| VM console (serial output) | β | β | β | Working |
| VM port forwarding | β | β | β | Working |
| VM resource monitoring | β | β | β | Working |
| OS image download & management | β | β | β | Working |
| Rosetta x86_64 translation | β Apple Silicon | β | β | Working |
| VirtioFS file sharing | β | β virtiofsd | β Plan 9/SMB | Working |
| K3s cluster management | β | β | π | Working (Linux) |
| Kubernetes dashboard (pods/services/deployments) | β | β | β | Working |
| Auto-update checker | β | β | β | Working |
| CLI (VM + Docker + K3s + Mount) | β | β | β | Working |
| Dark/Light theme + i18n | β | β | β | Working |
- macOS: Supports Apple Silicon (M-series) and Intel (x86_64). Rosetta x86_64 is available only on Apple Silicon with macOS 13+.
- Windows: Targets Windows 10 and Windows 11. VM backend relies on Hyper-V (typically Pro/Enterprise/Education + Hyper-V enabled).
- Linux: VM backend relies on KVM (
/dev/kvmrequired).
- Core: Rust (cross-platform workspace)
- GUI: Tauri v2 + React (TypeScript)
- VM Engine: Virtualization.framework (macOS) / KVM (Linux) / Hyper-V (Windows)
- File Sharing: VirtioFS (macOS/Linux) / Plan 9 (Windows)
- x86 Emulation: Rosetta 2 (macOS Apple Silicon)
- Containers: Docker API via Bollard (direct socket connection)
- Kubernetes: K3s (on-demand download) + kubectl
- CLI: Rust (clap)
- IPC: gRPC (tonic + prost) β VM operations only; containers use direct Docker socket
CrateBay v1.0.0 is now available. Feedback and contributions are welcome!
# Build from source
git clone https://github.com/coder-hhx/CrateBay.git
cd CrateBay
cargo build --release
# CLI usage
cratebay status # Show platform info
cratebay image search nginx --source all --limit 20
cratebay image load ./image.tar
cratebay image push ghcr.io/owner/image:tag
cratebay docker run nginx:latest --name web --cpus 2 --memory 512 --pull
cratebay image pack-container web myorg/web:snapshot
cratebay docker login-cmd web
cratebay docker ps # List containers
cratebay vm create myvm --cpus 4 --memory 4096 --rosetta # Create VM with Rosetta
cratebay mount add --vm myvm --tag code --host-path ~/code --guest-path /mnt/codeSee Tutorial for detailed instructions.
See docs/ARCHITECTURE.md for the full system design.
Key: Containers talk directly to Docker (lowest latency). VMs go through the CrateBay daemon (needs privileged lifecycle management). K8s queries use kubectl directly.
We welcome contributions! Please open an issue or submit a pull request.
Apache License 2.0 β free for personal and commercial use.
