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_LOGIN_USERNAMEUsername the OAuth AS consent page accepts.
OWNSONA_LOGIN_PASSWORDPassword the OAuth AS consent page accepts.
OAuthAuthorizationServerCanonical public URL of the OwnSona server (also the AS issuer and resource identifier).
OAuthAsEnabledtrue to enable the embedded authorization server.
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.
OAuthAsIniFileoauth.iniPath to the AS persistence file. Strongly recommended: absolute path outside the deployed webapp.
OAuthRequiredScopes(none)Comma- or space-separated list of scopes every access token must carry.
OAuthResourceIdentifier= OAuthAuthorizationServerOverride for the aud value tokens must carry.
OAuthAsIssuer= OAuthAuthorizationServerOverride for the AS issuer URL.
OAuthJwksUriauto-discoveredOverride for the JWKS URL. Default is discovered via RFC 8414.
OAuthAccessTokenTtlSeconds3600Access token TTL.
OAuthRefreshTokenTtlSeconds2592000Refresh token TTL (30 days).
OAuthAllowDynamicRegistrationtrueEnables /oauth/register. Disabling breaks every modern MCP client.
MaxWorkerThreads30Kiss tunable: concurrent request cap.
UserInactiveSeconds900Kiss tunable: session inactivity timeout (unused by OAuth path).

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.