14.1 Configuration keys table

Every key recognized in src/main/backend/application.ini.

14.1.1 Required

KeyPurpose
DatabaseHostPostgres host.
DatabasePortPostgres port.
DatabaseNameDatabase name (typically ownsona).
DatabaseUserApplication role.
DatabasePasswordPassword for the application role.
OWNSONA_API_TOKENBearer token MCP clients must present.
EMBEDDING_API_KEYAPI key for the embeddings endpoint.
EMBEDDING_ENDPOINTFull URL of the /embeddings endpoint.
EMBEDDING_MODELEmbedding model identifier.
EMBEDDING_DIMENSIONSVector length. Must match vector(N) column.

14.1.2 Optional with defaults

KeyDefaultPurpose
DatabaseTypePostgreSQLKiss DB driver type (only PostgreSQL supported).
DatabaseConnectionParameters(none)Appended to JDBC URL.
OWNSONA_USER_IDdefaultUser-id stamped on every memory.
EMBEDDING_PROVIDERopenaiProvider name recorded per row.
DEFAULT_RECALL_LIMIT8Default limit for recall.
MAX_RECALL_LIMIT50Hard cap on limit.
MAX_TEXT_CHARS16000Hard cap on memory text length.
MAX_BATCH_SIZE200Max items per remember_batch.
REEMBED_ON_STARTUPfalseTriggers the re-embed walker. Auto-flipped after success.
MaxWorkerThreads30Kiss tunable: concurrent request cap.
UserInactiveSeconds900Kiss tunable: session inactivity timeout.

14.1.3 Connection pool tunables (Kiss-provided)

Rarely changed. Defaults come from c3p0; override when your workload calls for it.

KeyPurpose
DatabaseMinPoolSizeMinimum connections kept hot.
DatabaseInitialPoolSizePool size at startup.
DatabaseMaxPoolSizeHard cap on pool size.
DatabaseAcquireIncrementConnections added per growth step.
DatabaseCheckoutTimeoutMillis to wait before timing out.
DatabaseMaxStatementsPrepared-statement cache size.
DatabaseIdleTestPeriodSeconds between idle-connection tests.
DatabaseMaxIdleTimeSeconds before removing idle connections.