diff --git a/.gitignore b/.gitignore index ec1de25f4..1d4841e44 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ .idea/ .lsp/ .vscode/ +.env venv/ pr_agent/settings/.secrets.toml __pycache__ @@ -8,4 +9,4 @@ dist/ *.egg-info/ build/ .DS_Store -docs/.cache/ +docs/.cache/ \ No newline at end of file diff --git a/docs/docs/installation/locally.md b/docs/docs/installation/locally.md index 2d9859bf2..8ed53c4ce 100644 --- a/docs/docs/installation/locally.md +++ b/docs/docs/installation/locally.md @@ -66,7 +66,30 @@ To invoke a tool (for example `review`), you can run directly from the Docker im docker run --rm -it -e CONFIG.GIT_PROVIDER=bitbucket -e OPENAI.KEY=$OPENAI_API_KEY -e BITBUCKET.BEARER_TOKEN=$BITBUCKET_BEARER_TOKEN codiumai/pr-agent:latest --pr_url= review ``` -For other git providers, update CONFIG.GIT_PROVIDER accordingly, and check the `pr_agent/settings/.secrets_template.toml` file for the environment variables expected names and values. +For other git providers, update `CONFIG.GIT_PROVIDER` accordingly and check the `pr_agent/settings/.secrets_template.toml` file for environment variables expected names and values. +The `pr_agent` uses [Dynaconf](https://www.dynaconf.com/) to load settings from configuration files. + +It is also possible to provide or override the configuration by setting the corresponding environment variables. +You can define the corresponding environment variables by following this convention: `__=` or `
.=`. +The `
` refers to a table/section in a configuration file and `=` refers to the key/value pair of a setting in the configuration file. + +For example, suppose you want to run `pr_agent` that connects to a self-hosted GitLab instance similar to an example above. +You can define the environment variables in a plain text file named `.env` with the following content: + +> Warning: Never commit the `.env` file to version control system as it might contains sensitive credentials! + +``` +CONFIG__GIT_PROVIDER="gitlab" +GITLAB__URL="" +GITLAB__PERSONAL_ACCESS_TOKEN="" +OPENAI__KEY="" +``` + +Then, you can run `pr_agent` using Docker with the following command: + +```shell +docker run --rm -it --env-file .env codiumai/pr-agent:latest +``` ---