Skip to content

Configuration

Observy works without a configuration file. Configuration is loaded in this precedence order, with higher layers overriding lower layers:

  1. CLI flags
  2. Environment variables
  3. YAML config file
  4. Runtime defaults

The config file name is observy-config.yaml. Observy searches the current working directory and ~/.config/observy/.

Example Config

data_storage_root_dir: ~/.local/share/observy/data
otlp_grpc_port: 4317
web_port: 8080
storage_provider: sqlite

Options

Config keyEnv variableCLI flagDefaultDescription
data_storage_root_dirOBSERVY_DATA_STORAGE_ROOT_DIR--data-dir~/.local/share/observy/dataRoot directory for local data.
otlp_grpc_portOBSERVY_OTLP_GRPC_PORT--otlp-grpc-port4317OTLP/gRPC receiver port.
web_portOBSERVY_WEB_PORT--web-port8080HTTP dashboard port.
storage_providerOBSERVY_STORAGE_PROVIDER--storage-providersqliteStorage provider: sqlite or duckdb.

Environment Variable Example

Terminal window
OBSERVY_OTLP_GRPC_PORT=14317 \
OBSERVY_WEB_PORT=18080 \
OBSERVY_STORAGE_PROVIDER=duckdb \
./observy

Data Storage

Observy creates the configured data root if it does not exist.

SQLite stores three database files under:

{data_storage_root_dir}/sqlite/
logs.db
metrics.db
traces.db

DuckDB stores its data under the same root:

{data_storage_root_dir}/duckdb/
logs.db
metrics.db
traces.db

Use sqlite or duckdb when you want persisted telemetry.