Skip to main content

Configuration Overview

DBBat is configured using environment variables, configuration files, or CLI flags.

Priority Order

Configuration is loaded in this priority order (highest to lowest):

  1. CLI flags
  2. Environment variables
  3. Configuration file
  4. Default values

Environment Variables

VariableDescriptionDefaultRequired
DBB_LISTEN_PGProxy listen address:5434No
DBB_LISTEN_APIREST API listen address:8080No
DBB_DSNPostgreSQL DSN for DBBat storage-Yes
DBB_KEYBase64-encoded AES-256 encryption key-One of KEY/KEYFILE
DBB_KEYFILEPath to file containing encryption key-One of KEY/KEYFILE

Configuration File

DBBat supports YAML, JSON, and TOML configuration files.

YAML Example

listen_pg: ":5434"
listen_api: ":8080"
dsn: "postgres://user:pass@localhost:5432/dbbat?sslmode=require"

Load with the --config flag:

dbbat serve --config /etc/dbbat/config.yaml

Encryption Key

DBBat requires a 32-byte encryption key for encrypting database credentials.

Generate a Key

openssl rand -base64 32

Using Environment Variable

export DBB_KEY="YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoxMjM0NTY="

Using Key File

openssl rand 32 > /etc/dbbat/key
chmod 600 /etc/dbbat/key
export DBB_KEYFILE="/etc/dbbat/key"

Storage Database

DBBat stores its configuration and logs in a PostgreSQL database. You need to provide a DSN to this database.

DSN Format

postgres://user:password@host:port/database?sslmode=require

SSL Modes

  • disable - No SSL
  • require - Require SSL but don't verify certificate
  • verify-ca - Require SSL and verify CA
  • verify-full - Require SSL and verify CA + hostname

Default Admin

On first startup, DBBat creates a default admin user:

  • Username: admin
  • Password: admin

Important: Change this password immediately after first login.