Isolated development environments for anything
devbox creates isolated development environments, contained in a project's Docker box (container). Each project operates in its own disposable environment, while your code remains neatly organized in a simple, flat folder on the host machine.
- 🚀 Instant Setup - Create isolated development environments in seconds
- 🐳 Docker-based - Leverage the power of boxes (containers) for consistent environments
- 📁 Clean Organization - Keep your code organized in simple, flat folders
- 🔧 Configurable - Define your environment with simple JSON configuration
- 🗑️ Disposable - Easily destroy and recreate environments as needed
- 🛡️ Isolated - Each project runs in its own box, preventing conflicts
- 🔄 Docker-in-Docker - Use Docker within your devbox environments by default
- 🐧 Linux-only - Officially supported on Debian/Ubuntu systems
- 🧪 Well Tested - Comprehensive test suite on Linux
devbox focuses on fast, disposable, Docker-native development environments with simple, commit-friendly config.
- Minimal config: a small JSON file, no heavy frameworks
- Clean host workspace: flat folders, no complex mounts
- Reproducible: isolated per-project boxes you can destroy/recreate anytime
- Docker-in-Docker ready: use Docker inside your environment out of the box
- Designed for Linux/WSL: optimized for Debian/Ubuntu workflows
# Mirror (CDN)
curl -fsSL https://devbox.ar0.eu/install.sh | bash
# Using the install script
curl -fsSL https://raw.githubusercontent.com/itzcozi/devbox/main/install.sh | bash
# Or manually: https://devbox.ar0.eu/docs/install/#manual-build-from-sourceNotes:
- Some managed shell environments (e.g., AWS CloudShell) may block or challenge CDN traffic, resulting in HTTP 403 when hitting the mirror. Use the primary GitHub Raw URL above in those environments.
- devbox supports Linux environments only (Debian/Ubuntu). On Windows, use WSL2 with an Ubuntu distribution.
-
Initialize a new project
devbox init my-project
-
Enter the development environment
devbox shell my-project
-
Run commands in the environment
devbox run my-project "python --version" -
List your environments
devbox list
-
Clean up when done
devbox destroy my-project
Commit a devbox.json to your repo so teammates can just:
devbox upOptional: mount your local dotfiles into the box
devbox up --dotfiles ~/.dotfilesFor detailed documentation, guides, and examples, visit:
This project is licensed under the MIT License. See the LICENSE file for details.
Created by BadDeveloper with 💚