Skip to main content

Configuring BuildBuddy

BuildBuddy on-prem is configured using a yaml formatted configuration file.

Command line flag#

On startup, BuildBuddy reads this config file which is specified using the --config_file flag. The config file is periodically re-read, although some options like enabling or disabling a cache require a restart to take effect.

Docker#

If you're running BuildBuddy in a Docker image - you can use Docker's -v flag to map a custom local config file to /config.yaml in the Docker image.

Be sure to replace PATH_TO_YOUR_LOCAL_CONFIG with the path to your custom config file:

docker pull gcr.io/flame-public/buildbuddy-app-onprem:latest && docker run -p 1985:1985 -p 8080:8080 -v /PATH_TO_YOUR_LOCAL_CONFIG/config.yaml:/config.yaml gcr.io/flame-public/buildbuddy-app-onprem:latest

Note: If you're using BuildBuddy's Docker image locally and a third party gRPC cache, you'll likely need to add the --network=host flag to your docker run command in order for BuildBuddy to be able to pull test logs and timing information from the external cache.

Option types#

There are two types of config options: Required, and Optional.

  • Required - BuildBuddy will not run without these.
  • Optional - They configure optional functionality. BuildBuddy will happily run without them.

Sample configuration files#

We maintain a list of sample configuration files that you can copy and paste to get up and running quickly.

Configuration options#

Here's a full list of BuildBuddy's configuration sections:

Required

  • App - basic app-level configuration options.
  • Storage - options that determine where BuildBuddy stores build results.
  • Database - options that determine where BuildBuddy stores build metadata.

Optional

  • Cache - configuration options for BuildBuddy's built-in Remote Build Cache.
  • Integrations - configure integrations with other services.
  • SSL - configure SSL/TLS certificates and setup.
  • Github - configure your Github integration.
  • Misc - miscellaneous configuration options.

Enterprise only

  • Auth - configure authentication providers.
  • API - configure BuildBuddy API.
  • Org - configure BuildBuddy Organization.

Flags#

In addition to the config file, some BuildBuddy options (like port number) can only be configured via command line flags.

More information on these flags, see our flags documentation.

Environment variables#

Environment variables in the config file are expanded at runtime. You only need to reference your environment variables like this ${ENV_VARIABLE}.