IDE-independent developer environments with keyless SSH, native filesystem performance, and zero vendor lock-in.
A lightweight, single-binary Rust orchestrator for reproducible developer environments on any platform — without vendor lock-in, without SSH key setup, and with 5-10x faster builds on macOS/Windows.
Unlike VS Code Dev Containers (locked to VS Code), dbx works with any SSH-capable editor: Neovim, VS Code, JetBrains, Zed, Emacs, or plain terminal.
# 1. Create config
cat > dbx.ini << 'EOF'
[dev-environment]
name = "my-dev"
image = "ubuntu:24.04"
additional_packages = "git curl build-essential"
EOF
# 2. Boot environment (and wire up keyless SSH)
dbx up
# 3. Connect from your IDE
ssh my-dev # or use VS Code Remote-SSH, JetBrains Gateway, etc.That's it. No SSH keys generated. No setup inside the box. Works on Linux, macOS, Windows.
| Problem | Solution |
|---|---|
| Locked into VS Code | Works with ANY editor (Neovim, JetBrains, Zed, Emacs, VS Code) |
| SSH key chaos | Embedded SSH server (zero setup, no keys ever generated) |
| 10x slower builds on macOS/Windows | Scratchpad Sync = native ext4 performance |
| Different setup per OS | Single config works on Linux/Mac/Windows |
| Heavyweight tools | Single 2MB binary, no bloat |
| Vendor lock-in | Open source, MIT licensed, Distrobox-based |
- 🎯 IDE-independent — Neovim, VS Code, JetBrains, Zed, Emacs, plain SSH. Your choice.
- 🔑 Keyless SSH — Embedded SSH server. Zero keys generated. Zero setup. Works with any SSH client.
- ⚡ Native filesystem speed — Scratchpad Sync = 5-10x faster builds on Windows (WSL2) & macOS (Podman/Lima)
- 🖥️ Cross-platform config — Single
dbx.inion Linux, macOS, Windows. No OS-specific branching. - 🧩 Layered configuration — System defaults → personal → project → local overrides. No Git conflicts.
- 📦 Zero bloat — Single ~2MB static binary. Doesn't reinvent container runtimes (uses Distrobox + Podman/Docker).
- 🔓 No vendor lock-in — Open source (MIT). Built on industry-standard tools (Distrobox, SSH, containers).
┌─────────────────────────────────────────────────────────────────────────────┐
│ Feature │ dbx │ VS Code Dev Containers │ Nix │ devenv │
├─────────────────────────────────────────────────────────────────────────────┤
│ IDE-independent │ ✅ │ ❌ VS Code │ ✅ │ ✅ │
│ Embedded SSH (no setup) │ ✅ │ ❌ │ ❌ │ ❌ │
│ Single binary │ ✅ │ ❌ │ ❌ │ ❌ │
│ Cross-platform config │ ✅ │ ✅ │ ❌ │ ✅ │
│ Layered config │ ✅ │ ❌ │ ✅ │ ✅ │
│ 100% native speed (Win) │ ✅ │ ❌ │ ~ │ ~ │
└─────────────────────────────────────────────────────────────────────────────┘
Crates.io (for Rust developers):
cargo install dbxPre-built binary:
# Linux
curl -L https://github.com/srikanthrayudu/dbx/releases/download/latest/dbx-linux-x86_64 \
-o /usr/local/bin/dbx && chmod +x /usr/local/bin/dbx
# macOS (Intel)
curl -L https://github.com/srikanthrayudu/dbx/releases/download/latest/dbx-macos-x86_64 \
-o /usr/local/bin/dbx && chmod +x /usr/local/bin/dbx
# macOS (Apple Silicon)
curl -L https://github.com/srikanthrayudu/dbx/releases/download/latest/dbx-macos-aarch64 \
-o /usr/local/bin/dbx && chmod +x /usr/local/bin/dbxBuild from source:
git clone https://github.com/srikanthrayudu/dbx
cd dbx && cargo build --release# Initialize
cat > dbx.ini << 'EOF'
[dev-environment]
name = "my-project-dev"
image = "ubuntu:24.04"
additional_packages = "git curl build-essential rust-all"
EOF
# Boot (creates container + wires up SSH)
dbx up
# Connect from your IDE
# Option 1: Plain SSH
ssh my-project-dev
# Option 2: VS Code Remote-SSH
# Install extension, add to ~/.ssh/config (done by dbx up)
# Option 3: JetBrains Gateway
# Connect via SSH, choose my-project-dev host
# Option 4: Neovim
# nvim scp://my-project-dev/path/to/projectClone one of our examples and run dbx up:
- dbx-example-rust — Rust + Cargo + clippy (ready to code)
- dbx-example-python — Python 3.12 + Poetry + ruff
- dbx-example-node — Node.js + pnpm + TypeScript
- README — Full feature overview and configuration guide
- Architecture — Module map, the
HostTransport/ContainerEnginedesign, and how to extend dbx - IDE Integration Guide — Setup for VS Code, JetBrains, Zed, Neovim, Emacs
- Filesystem Performance Guide — Benchmarks, architecture, optimization
- dbx vs. Jetify Devbox — How the two projects actually differ, and what ideas we've borrowed
- CONTRIBUTING — How to contribute (we welcome PRs!)
┌─────────────────────────────────────────────────────────────┐
│ Your IDE / SSH Client (VS Code, Cursor, JetBrains, Zed) │
└──────────────────┬──────────────────────────────────────────┘
│ SSH ProxyCommand (stdio)
▼
┌─────────────────────────────────────────────────────────────┐
│ Your IDE / SSH Client (VS Code, Cursor, JetBrains, Zed) │
└──────────────────┬──────────────────────────────────────────┘
│ SSH ProxyCommand (stdio)
▼
┌─────────────────────────────────────────────────────────────┐
│ dbx (embedded SSH server, keyless auth) │
│ • Reads merged config (global + project + local) │
│ • Wires up ProxyCommand (no TCP, no sshd) │
│ • Manages container lifecycle via HostTransport │
└──────────────────┬──────────────────────────────────────────┘
│ distrobox enter <box>
▼
┌─────────────────────────────────────────────────────────────┐
│ Linux Container (Distrobox) │
│ • Runs on: native Linux / WSL2 / Podman Machine / Lima │
│ • Mounts: $HOME (git, ssh, dotfiles, API keys) │
│ • Syncs: Project files via rsync (native ext4 speed) │
└─────────────────────────────────────────────────────────────┘
Why this is better:
- ✅ No TCP listener (impossible to MITM)
- ✅ No SSH keys (kernel auth is sufficient)
- ✅ No setup inside container (nothing installed, generated, or modified)
- ✅ Any SSH client works (plain
ssh, VS Code, JetBrains, scp, rsync, etc.)
- Docker Compose backend (in addition to Distrobox)
- Improved error messages & diagnostics
- GUI/TUI for easy config management
- Built-in telemetry (opt-in)
- Shell completions (bash, zsh, fish, PowerShell)
- Stable CLI interface
- Production-ready performance
- Official support policy
See CHANGELOG.md for detailed roadmap.
We're actively seeking contributions!
Good first issues:
- Platform-specific testing (macOS + Lima, Windows + WSL2)
- Documentation and guides
- Example repositories (Go, Java, Node.js templates)
- Test coverage improvements
See CONTRIBUTING.md for detailed guide and development setup.
Ways to help:
- ⭐ Star the repo (shows community interest)
- 🐛 Report bugs with reproduction steps
- 💬 Discuss ideas in GitHub Discussions
- 🔧 Submit PRs (new features, bug fixes, docs)
- GitHub Issues — Bug reports and feature requests
- GitHub Discussions — Questions, ideas, show & tell
- LinkedIn — @srikanthrayudu
- Twitter/X — @srikanthrayudu
- Distrobox + Podman or Docker
- Linux: native installation
- macOS: inside Podman Machine or Lima
- Windows: inside WSL2
- OpenSSH client (just
ssh, ships by default on Linux/macOS, optional on Windows)
- ✅ Linux (any distro with Podman/Docker)
- ✅ macOS (Intel & Apple Silicon with Podman Machine or Lima)
- ✅ Windows (WSL2)
Team: 5 developers (2 Neovim, 2 VS Code, 1 JetBrains) Problem: Each editor needs different remote setup
Solution: Single dbx.ini committed to repo
[dev-environment]
name = "team-dev"
image = "ubuntu:24.04"
additional_packages = "git rustup cargo clippy"
forward_env = "GITHUB_TOKEN RUST_BACKTRACE"Everyone runs dbx up → dbx auto-configures SSH → each dev connects from their editor of choice.
Problem: Cargo builds take 45 minutes on macOS (VirtioFS bottleneck)
Solution: Enable Scratchpad Sync
[dev-environment]
name = "fast-build"
image = "ubuntu:24.04"
scratchpad = true # Native ext4 workspace on macOS VMResult: Same project, 8-minute builds (5-6x speedup)
Problem: Windows dev wants same experience as Linux team
Solution: Same config, different host
Linux team:
dbx up
dbx enter # Direct shell accessWindows dev (WSL2):
dbx up
dbx enter --scratchpad # Use native ext4 for fast builds
# Or connect via SSH from VS Code- No SSH keys: Uses SSH
"none"auth (kernel auth sufficient) - No network exposure: SSH over stdio pipe (local process only)
- No setup in container: Nothing installed, generated, or modified
- Host integration: Leverages Distrobox's bind-mounts (same security model)
See CONTRIBUTING.md for security considerations.
MIT License — see LICENSE
- Distrobox — the orchestration foundation
- russh — embedded SSH library
- The Rust and open-source communities
Have ideas? Found a bug? Want to contribute?
- GitHub Issues → bug reports & features
- GitHub Discussions → Q&A, ideas, show & tell
- Direct message → @srikanthrayudu on LinkedIn/Twitter
Built with ❤️ in Rust. No vendor lock-in. No VC funding. Just a better way to develop.
⭐ If dbx helps you, please star the repo! It helps others discover it.