Skip to content

su-fen/CrateBay

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

84 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CrateBay

CrateBay

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


Why CrateBay?

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

Comparison

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

Features

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

Platform Compatibility

  • 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/kvm required).

Tech Stack

  • 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

Quick Start

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/code

See Tutorial for detailed instructions.

Architecture

See docs/ARCHITECTURE.md for the full system design.

CrateBay Architecture

Key: Containers talk directly to Docker (lowest latency). VMs go through the CrateBay daemon (needs privileged lifecycle management). K8s queries use kubectl directly.

Contributing

We welcome contributions! Please open an issue or submit a pull request.

License

Apache License 2.0 β€” free for personal and commercial use.

About

πŸš€ The lightweight, open-source Docker & Linux VM manager. Native GUI, 10x lighter than Docker Desktop. Built with Rust + Tauri. Free forever.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Rust 58.0%
  • TypeScript 23.9%
  • CSS 7.4%
  • HTML 3.0%
  • Shell 3.0%
  • JavaScript 2.4%
  • Other 2.3%