Standalone Docker Agent

Running deployments on a standalone docker

Choosing the docker agent is the quickest way to start running the self-hosted agent.

Running a deployment-agent

  1. Download the Docker Configuration(env0.env file) from the Agents tab under Organization > Settings.
  1. Create your state encryption key with the format of base64 encoding. (base64 encoding of any string you choose) and add it in env0.env as a new environment variable:
    ENV0_STATE_ENCRYPTION_KEY=<your-base64-encryption-key>
    โ„น๏ธ This value will be used to encrypt and decrypt the environment state and working directory
    โ„น๏ธ Read more about the state encryption key here
  2. Run agent:
    docker run --env-file ~/path/to/env0.env ghcr.io/env0/deployment-agent:latest
    โ„น๏ธ env0 has a public docker registry on GitHub which is maintained here.

And that's it!

The agent should be marked as Active and be ready to handle deployments.

๐Ÿ“˜

Enabling Multi-Concurrency

Do you have multiple deployments waiting to run and you don't want to them to wait?

Each container is designed to handle a single deployment at a time.

To run multiple deployments in parallel, just create another deployment agent using the docker run command. You can run any number of containers to satisfy your deployment needs.

Running a vcs-agent (for on-prem / self-hosted VCS)

In the case that you are using a self-hosted version control such as Bitbucket Server, GitLab Enterprise, GitHub Enterprise, you will need to run the vcs-agent.

It has to run in parallel with the deployment-agent in order to interact with private VCS.

  1. Add credentials to the relevant VCS in env0.env file (see variables table below)
  2. Run docker:
    docker run --env-file ~/path/to/env0.env ghcr.io/env0/vcs-agent:latest
    โ„น๏ธ env0 has a public docker registry on GitHub which is maintained here.
KeysDescriptionRequired for feature
BITBUCKET_SERVER_CREDENTIALSBase64 Bitbucket server credentials in the format username:token (using a Personal Access token).On-premise Bitbucket Server installation.
GITLAB_ENTERPRISE_CREDENTIALSBase64 Gitlab Enterprise credentials in the form of a Personal Access token.On-premise Gitlab Enterprise installation
GITLAB_ENTERPRISE_BASE_URL_SUFFIXIn cases where your GitLab instance base url is not at the root of the url, and in a separate path, e.g https://gitlab.acme.com/prod you should define that added suffix to this value
GITLAB_ENTERPRISE_BASE_URL_SUFFIX=prod
On-premise Gitlab Enterprise installation
GITHUB_ENTERPRISE_APP_ID
GITHUB_ENTERPRISE_APP_CLIENT_ID
GITHUB_ENTERPRISE_APP_INSTALLATION_ID
GITHUB_ENTERPRISE_APP_CLIENT_SECRET
GITHUB_ENTERPRISE_APP_PRIVATE_KEY
Github Enterprise Integration (see step 3)On-premise GitHub Enterprise installation