Defang is a radically simpler way for developers to create, deploy, and manage cloud applications.
This repo includes:
defang generate
defang compose up
Install the Defang CLI from one of the following sources:
Using the Homebrew package manager DefangLabs/defang tap:
brew install DefangLabs/defang/defang
Using a shell script:
. <(curl -Ls https://s.defang.io/install)
Using Go:
go install github.com/DefangLabs/defang/src/cmd/cli@latest
Using the Nix package manager:
nix-env -if https://github.com/DefangLabs/defang/archive/main.tar.gz
nix profile install github:DefangLabs/defang#defang-bin --refresh
Using winget:
winget install defang
Using a PowerShell script:
iwr https://s.defang.io/defang_win_amd64.zip -OutFile defang.zip
Expand-Archive defang.zip . -Force
Download the latest binary of the Defang CLI. For this beta, MacOS users will have to explicitly allow running of downloaded programs in the OS security settings.
The Defang CLI supports command completion for Bash, Zsh, Fish, and Powershell. To get the shell script for command completion, run the following command:
defang completion [bash|zsh|fish|powershell]
If you're using Bash, you can add the following to your ~/.bashrc
file:
source <(defang completion bash)
If you're using Zsh, you can add the following to your ~/.zshrc
file:
source <(defang completion zsh)
or pipe the output to a file called _defang
in the directory with the completions.
If you're using Fish, you can add the following to your ~/.config/fish/config.fish
file:
defang completion fish | source
If you're using Powershell, you can add the following to your $HOME\Documents\PowerShell\Microsoft.PowerShell_profile.ps1
file:
Invoke-Expression -Command (defang completion powershell | Out-String)
The Defang CLI recognizes the following environment variables:
COMPOSE_PROJECT_NAME
- The name of the project to use; overrides the name in the compose.yaml
fileDEFANG_ACCESS_TOKEN
- The access token to use for authentication; if not specified, uses token from defang login
DEFANG_CD_BUCKET
- The S3 bucket to use for the BYOC CD pipeline; defaults to defang-cd-bucket-…
DEFANG_CD_IMAGE
- The image to use for the Continuous Deployment (CD) pipeline; defaults to public.ecr.aws/defang-io/cd:public-beta
DEFANG_DEBUG
- set this to 1
or true
to enable debug loggingDEFANG_DISABLE_ANALYTICS
- If set to true
, disables sending analytics to Defang; defaults to false
DEFANG_FABRIC
- The address of the Defang Fabric to use; defaults to fabric-prod1.defang.dev
DEFANG_HIDE_HINTS
- If set to true
, hides hints in the CLI output; defaults to false
DEFANG_HIDE_UPDATE
- If set to true
, hides the update notification; defaults to false
DEFANG_PROVIDER
- The name of the cloud provider to use, auto
(default), aws
, or defang
NO_COLOR
- If set to any value, disables color output; by default, color output is enabled depending on the terminalTZ
- The timezone to use for log timestamps: an IANA TZ name like UTC
or Europe/Amsterdam
; defaults to Local
XDG_STATE_HOME
- The directory to use for storing state; defaults to ~/.local/state