DevBox is a powerful command-line interface tool built in Go using Cobra, Docker Engine API, and Bubbletea. It allows users to create and manage isolated containers with their desired technology stacks, such as Node.js, Python, Rust, and more.
create
: Create a new isolated container with your desired technology stack.start
: Start an existing container.stop
: Stop a running container.ps
: List containers and their status.rm
: Remove container.images
: List all images.rmi
: Remove images.
Before using DevBox, ensure that you have the following installed:
- Docker
You can install DevBox by following these step
curl -fsSL https://raw.githubusercontent.com/harshau007/devbox/main/install.sh | sh
Install via makepkg
- Run inside
pkgbuild/
makepkg -si
You can uninstall DevBox by following these step
sudo rm -rf /usr/bin/devctl /usr/bin/portdevctl /usr/bin/startdevctl /usr/local/share/devbox/
After installing DevBox, you can use the following commands:
TIP: Initial images creation may take some time depending on your internet speed.
devctl create [OPTIONS]
Creates a new isolated container with the specified technology stack. Available technologies include nodejs
, python
, rust
, and more.
--name, -n
(string): Specify a name for the container.--volume, -v
(string): Specify the volume to mount.--package, -p
(string): Specify the technology to use.--port, -P
(string): Port to expose.--url, -u
(string): Specify the URL to clone the repository.--template, -t
(string): Create dev env using template.
Note: If you specify the
--url
option, DevBox will clone the repository and use the cloned repository as the volume. Default directory isDesktop
Note: If you specify the
--template
option, DevBox will take some time to setup the environment
devctl start [OPTIONS]
Starts the specified container.
--name, -n
(string): Specify a name for the container.
devctl stop [OPTIONS]
Stops the specified running container.
--name, -n
(string): Specify a name for the container.
devctl ps [OPTIONS]
Lists running containers and their status.
--all, -a
: List all containers
devctl rm [OPTIONS] CONTAINER [CONTAINER...]
Remove images.
--force, -f
: Force remove containers.
devctl images
Lists all images.
devctl rmi [OPTIONS] IMAGE [IMAGE...]
Remove images.
--force, -f
: Force remove images.
Contributions to DevBox are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.
DevBox is released under the GNU General Public License.
- Cobra for the CLI framework.
- Docker Engine API for interacting with Docker.
- Bubbletea for the terminal user interface.