Skip to main content
When self-hosting Sourcebot, you must provide it a config file. This is done by defining a config file in a volume that’s mounted to Sourcebot, and providing the path to this file in the CONFIG_PATH environment variable. For example:
Passing in a CONFIG_PATH to Sourcebot
The config file tells Sourcebot which repos to index, what language models to use, and various other settings as defined in the schema.

Config File Schema

The config file you provide Sourcebot must follow the schema. This schema consists of the following properties:
  • Connections (connections): Defines a set of connections that tell Sourcebot which repos to index and from where
  • Language Models (models): Defines a set of language model providers for use with Ask Sourcebot
  • Settings (settings): Additional settings to tweak your Sourcebot deployment
  • Search Contexts (contexts): Groupings of repos that you can search against

Config File Syncing

Sourcebot syncs the config file on startup, and automatically whenever a change is detected.

Settings

The following are settings that can be provided in your config file to modify Sourcebot’s behavior

Tokens

Tokens are used to securely pass secrets to Sourcebot in a config file. They are used in various places, including connections, language model providers, auth providers, etc. Tokens can be passed as either environment variables or Google Cloud secrets:

Overriding environment variables from the config

You can override / set environment variables from the config file by using the environmentOverrides property. Overrides can be of type string, number, boolean, or a token. Tokens are useful when you want to configure a environment variable using a Google Cloud Secret or other supported secret management service.
Note: Overrides are not set as system environment variables, and instead are resolved at runtime on startup and stored in memory.
schemas/v3/environmentOverrides.json