Skip to content

Installation Configuration

Installation ID

A required field, to allow quick disambiguation between alternative configurations.

id: "soliplex-example"

Installation Metaconfiguration

The meta section allows you to register custom "kinds" of entities (tool configurations, MCP client toolset configurations, etc.), such that you can use them within your own configurations (e.g., to register a configuration class for use with a custom tool in a given room).

meta:

See this page for documentation on the meta-configuration schema.

Secrets

secrets:

Secrets are values used to authenticate access to different resources or APIs.

The may be kept in an external store, such as:

  • ASW secret store
  • GitHub secrets
  • Docker Compose secrets files
  • The user keyring

See this page for documentation on configuring installation secrets.

Environment

The environment section configures non-secret values used by various portions of the Soliplex application. Application code should use the Installation.get_environment API to fetch configured values, rather than using os.environ.

environment:

See this page for documentation on configuring the installation environment.

haiku.rag Configuration File

The haiku_rag_config_file entry points to a YAML file containing configuration values for the haiku.rag client

If not configured explicitly, the installation configuration expects to find this file in the same directory, with the default name haiku.rag.yaml.

Pleas see the haiku.rag configuration docs for details on how to configure the haiku.rag client used by Soliplex.

Agent Configurations

An installation can declare agent configurations (which are normally bound to rooms / completions) at the top-level, such that they can be looked up by ID from Python code using the_installation.get_agent_by_id.

agent_configs:

  - id: "ollama_gpt_oss"
    model_name: "gpt-oss:20b"
    system_prompt: |
      You are an expert AI assistant specializing in information retrieval.
      ...
Please see this page for details on configuring agents. In addition to the values described there, note that the id element is required here.

Thread Persistence DBURI

An installation can define two DBURIs for the database used to store AG-UI threads, runs, events, etc.

Synchronous DBURI

One DBURI is for sync usage, e.g. within console scripts. Examples:

  • sqlite://
  • postgresql+psycopg2://user:<password>@dbhost/dbname

Asynchronous DBURI

The other DBURI is for async usage, e.g. within the Soliplex server process. Examples:

  • sqlite+aiosqlite://
  • postgresql+asyncpg://user:<password>@dbhost/dbname

This DBURI must be compatible with SQLAlchemy's asyncio extension. Dialects known to work include:

Default configuration

By default, Soliplex configures thread persistence using in-memory DBURIS:

  • For sync use, sqlite (DBURI sqlite://)
  • For async use, aiosqlite (DBURI sqlite+aiosqlite://)

The default configuration is equivalent to this explicit YAML:

thread_persistence_dburi:
  sync: "sqlite://"
  async: "sqlite+aiosqlite://"

Database passwords as secrets

For DBURIs requiring authentication, we would rather not expose the password in plain-text configuration. In this case, we can define a Soliplex secret (read here), and use that secret in the DBURI.

secrets:
    - secret_name: MY_DBURI_SECRET
      # Configure sources here
...

thread_persistence_dburi:
  sync: "postgresql+psycopg2://user:secret:MY_DBURI_SECRET@dbhost/dbname"
  async: "postgresql+asyncpg://user:secret:MY_DBURI_SECRET@dbhost/dbname"

OIDC Auth Provider Paths

The oidc_paths element specifies one or more filesystem paths to be searched for OIDC provider configs.

Please see this page for details on how to configure these providers.

oidc_paths:
  - "/path/to/oidc/config/dir"

Non-absolute paths will be evaluated relative to the installation directory.

By default, Soliplex loads provider configurations found under the path './oicd', just as though we had configured:

oidc_paths:
  - "./oidc"

To disable authentication, list a single, "null" path, e.g.:

oidc_paths:
  -
Or else run 'soliplex-cli serve --no-auth-mode'

Room Configuration Paths

The room_paths element specify one or more filesystem paths to search for room configs.

Please see this page for details on how to configure these providers.

Each path can be either:

  • a directory containing its own room_config.yaml file: this directory will be mapped as a single room.

  • a directory whose immediate subdirectories will be treated as rooms IFF they contain a room_config.yaml file.

Non-absolute paths are evaluated relative to the installation directory.

The order of room_paths in this list controls which room configuration is used for any conflict on room ID: rooms found earlier in the list "win" over later ones with the same ID.

By default, Soliplex loads room configurations found under the path './rooms', just as though we had configured:

room_paths:
  - "./rooms"
To disable all rooms, list a single, "null" path, e.g.:

room_paths:
   -

Completion Configuration Paths

The completion_paths entry specifies one or more filesystem paths to search for completion configs.

Please see this page for details on how to configure these providers.

Each path can be either:

  • a directory containing its own completion_config.yaml file: this directory will be mapped as a single completion.

  • a directory whose immediate subdirectories will be treated as rooms IFF they contain a room_config.yaml file.

Non-absolute paths will be evaluated relative to the installation directory.

The order of entries in the completion_paths list controls which completion configuration is used for any conflict on completion ID: completions found earlier in the list "win" over later ones with the same ID.

By default, Soliplex loads completion configurations found under the path './completions', just as though we had configured:

completion_paths:
  - "./completions"

To disable all completions, list a single, "null" path, e.g.:

completion_paths:
  -

Logfire Configuration

See the Solipex logfire configuration page.