Docker Compose
Persistent files
Section titled “Persistent files”Copy the provided bootstrap configuration:
cp data/config.yml.example data/config.ymlThen choose how to store the master key. Configure exactly one of
security.master_key_file and security.master_key.
Generate the key in the separate file referenced by the provided
config.yml:
python -c "import base64,secrets; print(base64.urlsafe_b64encode(secrets.token_bytes(32)).decode().rstrip('='))" > data/master_keyThe provided configuration already contains the corresponding path:
security: master_key_file: /data/master_keyGenerate a key without redirecting the output to a file:
python -c "import base64,secrets; print(base64.urlsafe_b64encode(secrets.token_bytes(32)).decode().rstrip('='))"Replace the security block in data/config.yml and paste the generated
value directly into master_key:
security: master_key: "<generated-base64url-key>"Inline storage is not recommended because config.yml then contains the
key used to decrypt provider credentials. Brokerr reports this setup as a
diagnostics warning.
Whichever method you choose, keep the key private and back it up separately from the database. The decoded value must contain exactly 32 random bytes.
Start and stop
Section titled “Start and stop”docker compose up --build -ddocker compose psdocker compose logs -f brokerrdocker compose downdocker compose down preserves bind-mounted /data. Do not use commands that
delete the host data directory unless you intentionally want a fresh instance.
Updating the local image
Section titled “Updating the local image”git pull --ff-onlydocker compose build --pull brokerrdocker compose up -d brokerrRead the upgrade guide before replacing a running version.