Bee Team/Documentation
Open local panel
Documentation / Advanced

Environment variables

The service reads its configuration at startup. Existing process variables take precedence over .env discovered from its working directory. Restart the identified instance to apply changes. Relative paths depend on that working directory.

Boolean settings accept true/false, yes/no, on/off and 1/0, ignoring case and surrounding spaces, except where a row specifies a different rule.

HTTP and panel

VariableWhen absentValues and effect
APP_HOST127.0.0.1Bind to an IPv4 or IPv6 address. Invalid input selects loopback. A busy or unavailable address prevents startup.
APP_PORT59865TCP port, 0–65535. Invalid input uses the default. Use a known free port to reconnect your clients.
APP_CORS_ALLOW_ORIGINS*Comma-separated HTTP origins. Omitted or * permits all; an empty list permits none. Invalid header values are skipped with a warning. Affects browser API requests.
APP_BODY_LIMIT_BYTES1048576Positive maximum request body size in bytes. Zero or invalid input restores the default. Oversized bodies on limited routes are rejected.
BEE_FRONTEND_MODEembedded (embedded-ui) / disableddisabled serves API and MCP only. embedded serves the bundled panel at /app/ and requires a binary compiled with embedded-ui. Other values fail startup.

Database

VariableWhen absentValues and effect
DATABASE_DRIVERsqlitesqlite or postgres (case-insensitive). Absent or blank infers PostgreSQL for postgres:// or postgresql:// URLs. Unknown drivers or mismatched schemes fail startup.
DATABASE_URL~/.beeteam/beeteam.sqlUse sqlite:// with a file path or a PostgreSQL connection URL. An explicit URL takes precedence over the home default. PostgreSQL requires its URL. The adapter opens the selected database and applies its migrations.

MCP transport

VariableWhen absentValues and effect
MCP_ENABLEDtrueBoolean. Enables the endpoint only when MCP is compiled in. False removes the MCP route. Invalid text uses the default.
MCP_PATH/mcpRoute path. Whitespace and trailing slashes are trimmed and a missing leading slash is added. Blank selects /mcp. Use a distinct path, then update the client registration.
MCP_ALLOWED_ORIGINS*Browser CORS list for MCP, independent of API CORS. Comma-separated origins, * or unset allows all; an explicit empty list allows none. Invalid header values are skipped.

Portable transfer

All six numeric transfer limits must be positive unsigned integers within the destination type’s range. Invalid values fail startup. Exceeding a configured limit can reject the transfer. Inspect /api/v1/data-transfers for the active configuration.

VariableWhen absentValues and effect
BEE_TRANSFER_ENABLEDfalseOnly literal lowercase true enables transfer administration. Other values leave it disabled. Transfer limits and origins are validated even when disabled.
BEE_TRANSFER_DIR.local/transfersArchive and job directory, relative to the service working directory unless absolute. Use a dedicated writable location when enabled.
BEE_TRANSFER_ALLOWED_ORIGINS[]Comma-separated exact http(s) origins without a trailing slash, path or wildcard. Invalid origins fail startup. Empty denies browser origins; requests without Origin are checked separately.
BEE_TRANSFER_UPLOAD_BYTES2147483648Maximum compressed archive size in bytes.
BEE_TRANSFER_EXPANDED_BYTES10737418240Maximum expanded archive size in bytes.
BEE_TRANSFER_MAX_ENTRIES100000Maximum number of archive entries.
BEE_TRANSFER_LINE_BYTES1048576Maximum bytes per JSONL record.
BEE_TRANSFER_TIMEOUT_SECONDS1800Maximum processing time in seconds.
BEE_TRANSFER_RETENTION_SECONDS86400Retention window in seconds before eligible transfer artifacts can be cleaned up.

Logging and trace export

VariableWhen absentValues and effect
RUST_LOGinfoTracing filter, e.g. info,beeteam=debug. Missing or invalid filter falls back to info. The binary adds otel::tracing=info.
OTEL_ENABLEDfalseBoolean. With false the binary logs locally; true initializes a span exporter. Invalid text uses the default.
OTEL_USE_SIMPLE_EXPORTERfalseCase-insensitive true exports individual spans. Other values use the batch processor when tracing is enabled.
OTEL_EXPORTER_OTLP_PROTOCOLgrpcgrpc, http/protobuf or http/json. Unrecognized values select gRPC. The binary chooses the trace transport before constructing the exporter.
OTEL_SERVICE_NAMEbeeteamService name on exported traces. When unset, Bee Team supplies its Cargo package name.

Trace SDK settings

SDK trace settings apply when OTEL_ENABLED is true. This binary creates a trace exporter. Metrics and log exporter selectors in example collector configurations do not enable additional Bee Team exporters.

VariableWhen absentValues and effect
OTEL_RESOURCE_ATTRIBUTES[]Comma-separated key=value pairs attached to the trace resource. Malformed pairs are ignored.
OTEL_EXPORTER_OTLP_ENDPOINThttp://localhost:4317 (gRPC), http://localhost:4318 (HTTP)Collector base URL; HTTP adds /v1/traces. A trace-specific endpoint takes precedence.
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT→ OTEL_EXPORTER_OTLP_ENDPOINTFull trace URL, including /v1/traces for HTTP. A wrong endpoint prevents delivery.
OTEL_EXPORTER_OTLP_HEADERS[]Comma-separated key=value request headers. The trace-specific setting takes precedence. Keep credentials outside shared examples.
OTEL_EXPORTER_OTLP_TRACES_HEADERS→ OTEL_EXPORTER_OTLP_HEADERSHeaders for trace export; malformed pairs are skipped.
OTEL_EXPORTER_OTLP_TIMEOUT10000 msUnsigned millisecond timeout per export. Invalid text falls back to the SDK default.
OTEL_EXPORTER_OTLP_TRACES_TIMEOUT→ OTEL_EXPORTER_OTLP_TIMEOUTTrace timeout in milliseconds. A valid trace value overrides the generic timeout.
OTEL_EXPORTER_OTLP_COMPRESSION—Compression for the OTLP exporter. Leave unset with this build; unsupported algorithms or missing codec features can fail initialization.
OTEL_EXPORTER_OTLP_TRACES_COMPRESSION→ OTEL_EXPORTER_OTLP_COMPRESSIONTrace-specific compression overrides the generic value.
OTEL_TRACES_SAMPLERparentbased_always_onalways_on, always_off, traceidratio or the parentbased_ form of each. Unknown values select the default sampler.
OTEL_TRACES_SAMPLER_ARG1.0For ratio sampling use a probability from 0 to 1. Missing or unparseable values use 1.0.
OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT128Maximum attributes retained per span. Unsigned integer; invalid input uses the default.
OTEL_SPAN_EVENT_COUNT_LIMIT128Maximum events retained per span. Unsigned integer; invalid input uses the default.
OTEL_SPAN_LINK_COUNT_LIMIT128Maximum links retained per span. Unsigned integer; invalid input uses the default.
OTEL_BSP_MAX_QUEUE_SIZE2048Batch processor: spans queued. Unparseable values keep the default.
OTEL_BSP_MAX_EXPORT_BATCH_SIZE512Batch processor: spans in one batch, capped by queue size. Unparseable values keep the default.
OTEL_BSP_SCHEDULE_DELAY5000Batch processor: milliseconds between scheduled exports. Unparseable values keep the default.
OTEL_BSP_EXPORT_TIMEOUT30000Batch processor: milliseconds (processor configuration; use the OTLP timeout for exporter I/O). Unparseable values keep the default.
OTEL_BSP_MAX_CONCURRENT_EXPORTS1Batch processor: concurrent exports (processor setting; applicability depends on processor implementation). Unparseable values keep the default.

Operating system inputs

OS inputs are inherited from the service account. Missing optional paths are skipped during discovery. For a predictable data location, set DATABASE_URL explicitly.

VariableWhen absentValues and effect
HOMEUnixUser home for default SQLite; OS account lookup may supply the home.
USERPROFILEWindowsUser home for default SQLite; set DATABASE_URL if home lookup fails.
PATH—Git executable discovery. Missing Git leaves project discovery unavailable.
SystemRootWindowsExplorer location and environment forwarded to Git.
WINDIRWindowsForwarded to the isolated Git process when present.
TEMP / TMP—Temporary locations passed through to Git when present.
LOCALAPPDATA / ProgramFiles / ProgramFiles(x86)WindowsChecked in that order for installed VS Code. Missing candidates are skipped.

Build and test only

BEE_FRONTEND_DIST selects the verified frontend build directory for embedded-ui compilation. CARGO_TARGET_DIR selects Cargo output. BEE_TEST_DRIVER and BEE_TEST_DATABASE_URL select isolated test databases. BEE_API_TARGET controls the Vite development proxy. Set runtime database variables separately when starting the binary.

Start an isolated instance

Run from the checkout after building the embedded distribution. Choose an unused loopback port (the examples use 59875). Each example selects a fresh directory and SQLite file. Use a second terminal for the checks below.

PowerShell

$binary = (Resolve-Path '.\target\release\beeteam.exe').Path
$dir = New-Item -ItemType Directory -Path (Join-Path ([IO.Path]::GetTempPath()) ([guid]::NewGuid()))
Set-Location -LiteralPath $dir.FullName
$env:APP_HOST = '127.0.0.1'
$env:APP_PORT = '59875'
$env:BEE_FRONTEND_MODE = 'embedded'
$env:DATABASE_DRIVER = 'sqlite'
$env:DATABASE_URL = 'sqlite://' + ($dir.FullName -replace '\\','/') + '/demo.sql'
& $binary

POSIX

binary="$PWD/target/release/beeteam"
dir=$(mktemp -d) && cd "$dir" || exit 1
export APP_HOST=127.0.0.1 APP_PORT=59875 BEE_FRONTEND_MODE=embedded
export DATABASE_DRIVER=sqlite DATABASE_URL="sqlite://$dir/demo.sql"
"$binary"

Open http://127.0.0.1:59875/api/v1/info to check apiVersion, then /app/ for the panel. Update the harness endpoint to http://127.0.0.1:59875/mcp and call listBoards. To restart with the same data, stop the foreground service with Ctrl+C and rerun only the last command in the same shell.