Kothai

Configuration

All settings are optional. The defaults are what the image ships with.

Environment variables

VariableDefaultWhat it does
PORT5173HTTP port. Leave it alone under Docker and change the host side of the port mapping instead.
KOTHAI_HOME(unset)Root for the two paths below. Useful on hosts that allow only one volume.
KOTHAI_DATA_DIR<app>/dataNotes, chats, settings, uploads.
KOTHAI_MODELS_DIR<app>/modelsModel weights.
KOTHAI_AI_BASE_URL(unset)Inference endpoint URL, e.g. http://ollama:11434/v1. Setting it sends inference there instead of running models on-device.
KOTHAI_AI_API_KEY(unset)Bearer token for the endpoint. Not needed for Ollama.
KOTHAI_PASSWORD(unset)Require this password before anything is served. Unset means no auth. Set it before exposing Kothai publicly.
KOTHAI_GOOGLE_CLIENT_ID(unset)The Google OAuth client that Google Drive backups sign in through. Needs KOTHAI_GOOGLE_CLIENT_SECRET too; either alone counts as unset. See Backups.
KOTHAI_GOOGLE_CLIENT_SECRET(unset)That client's secret.
KOTHAI_ALLOW_PRIVATE_FETCH(unset)Set to 1 to let link previews reach private/loopback addresses. Off by default as an SSRF guard. Enable only on a trusted network where you stash intranet links.

A specific variable wins over KOTHAI_HOME, which wins over the default.

RAM usage

Kothai has three model roles (Language, Embedding, Vision), each with a residency policy you control in Settings → Model Cores. See Models & inference for what each role does and the RAM trade-offs.

The default is embedding always-on (~300 MB) with language and vision on demand. Saving works with everything off. Pick "Skip for now" during setup to run Kothai as a plain bookmark manager and enable models later.

What lives where

PathContentsBack up?
./datakothai.db, uploads/, backups/, and credentials.json if you entered an API key in the app (plain text), google-drive.json if you connected Google DriveYes
./modelsModel weightsNo, they re-download

Last updated on

On this page