Skip to content

DevBox is a powerful CLI tool to create and manage isolated containers for developers with their desired technology stacks, such as Node.js, Python, Rust, and more.

License

Notifications You must be signed in to change notification settings

harshau007/devbox

Repository files navigation

DevBox

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.

Features

  • 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.

Prerequisites

Before using DevBox, ensure that you have the following installed:

  • Docker

Installation

You can install DevBox by following these step

Linux and MacOS

curl -fsSL https://raw.githubusercontent.com/harshau007/devbox/main/install.sh | sh

OR

Install via makepkg

  • Run inside pkgbuild/
makepkg -si

Uninstallation

You can uninstall DevBox by following these step

Linux and MacOS

sudo rm -rf /usr/bin/devctl /usr/bin/portdevctl /usr/bin/startdevctl /usr/local/share/devbox/

Usage

After installing DevBox, you can use the following commands:

TIP: Initial images creation may take some time depending on your internet speed.

Demo video: Watch the video

create

devctl create [OPTIONS]

Creates a new isolated container with the specified technology stack. Available technologies include nodejs, python, rust, and more.

Options

  • --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 is Desktop

Note: If you specify the --template option, DevBox will take some time to setup the environment

start

devctl start [OPTIONS]

Starts the specified container.

Options

  • --name, -n (string): Specify a name for the container.

stop

devctl stop [OPTIONS]

Stops the specified running container.

Options

  • --name, -n (string): Specify a name for the container.

ps

devctl ps [OPTIONS]

Lists running containers and their status.

  • --all, -a : List all containers

rm

devctl rm [OPTIONS] CONTAINER [CONTAINER...]

Remove images.

  • --force, -f : Force remove containers.

images

devctl images

Lists all images.

rmi

devctl rmi [OPTIONS] IMAGE [IMAGE...]

Remove images.

  • --force, -f : Force remove images.

Contributing

Contributions to DevBox are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.

License

DevBox is released under the GNU General Public License.

Acknowledgments

About

DevBox is a powerful CLI tool to create and manage isolated containers for developers with their desired technology stacks, such as Node.js, Python, Rust, and more.

Resources

License

Stars

Watchers

Forks

Packages

No packages published