Konfigurasi

Konfigurasi

Cara Kanesh membaca pengaturan, plus variabel server, logging, database, owner, dan agent.

Kanesh dikonfigurasi dengan variabel environment. Semua variabel opsional: lewati dan default berlaku. File lengkap berisi semua variabel ada di File environment.

Cara pengaturan dibaca

  • Docker: kirim variabel dengan -e NAME=value atau env_file di Compose.
  • Proses Go: export di shell lebih dulu. Kanesh tidak memuat file .env sendiri.
  • Studio: banyak pengaturan keamanan, akses, dan email juga bisa diubah di Settings. Variabel yang diatur menang dan tampil read-only di Studio. Biarkan tidak diatur untuk mengelolanya dari Studio.

Server dan data

VariableDefaultFungsinya
HOST127.0.0.1Alamat untuk listen. Pakai 0.0.0.0 di dalam container.
PORT8080Port untuk Studio dan API.
DATA_DIR.data (/data di image)Folder untuk file SQLite, upload, dan claim token. Backup folder ini.
SHUTDOWN_TIMEOUT10sBerapa lama request yang berjalan boleh selesai sebelum shutdown, 1s sampai 5m.

Logging

Log dikirim ke stderr. Log tidak pernah menyertakan body request, nilai query, password, atau data record.

VariableDefaultFungsinya
LOG_LEVELinfodebug, info, warn, atau error.
LOG_FORMATjsonjson untuk tool log, text untuk dibaca di terminal.
LOG_SLOW_REQUEST1sRequest yang selambat ini atau lebih dicatat sebagai warning. 0 mematikannya.

Database

VariableDefaultFungsinya
DATABASE_DRIVERsqlitesqlite, postgres, atau mysql.
DATABASE_URLtidak diaturKoneksi untuk PostgreSQL (URL) atau MySQL (DSN go-sql-driver, bukan mysql://).
SQLITE_PATHDATA_DIR/kanesh.dbPath kustom untuk file SQLite.

Jika database eksternal gagal, Kanesh berhenti. Kanesh tidak pernah beralih ke SQLite. Lihat Setup database.

Owner pertama

Instalasi baru diklaim sekali oleh owner-nya. Variabel ini membuat atau mengamankan owner itu.

VariableDefaultFungsinya
BOOTSTRAP_TOKENtidak diaturSecret klaim milikmu sendiri, 32 sampai 256 karakter. Tanpa ini, token sekali pakai ditulis ke DATA_DIR/claim-token.
ADMIN_EMAILtidak diaturMembuat owner hanya pada instalasi baru.
ADMIN_PASSWORDtidak diaturPassword untuk owner itu. Restart tidak pernah meresetnya.
ADMIN_PASSWORD_FILEtidak diaturMembaca password dari file, misalnya secret yang di-mount. Lebih aman daripada ADMIN_PASSWORD.
DEMO_MODEfalseMenampilkan email dan password owner di layar login. Hanya untuk demo publik.

Note: Owner bisa melakukan semuanya, seperti super admin. Pakai DEMO_MODE=true hanya di instalasi terpisah yang sekali pakai dengan data contoh. Jangan pernah di produksi.

Agent dan token

VariableDefaultFungsinya
MCP_ENABLEDfalsetrue menyalakan endpoint MCP read-only untuk agent. Lihat MCP untuk agent.
AUTH_TOKEN_HEADERtidak diaturHeader tambahan untuk token mentah, seperti X-Api-Key. Authorization: Bearer selalu berfungsi.

Pemecahan masalah

  • .env tidak berpengaruh saat menjalankan Go: export variabel sebelum memulai proses.
  • Pengaturan read-only di Studio: variabel yang sesuai sudah diatur. Hapus variabelnya untuk mengelola pengaturan itu di Studio.
  • Startup gagal setelah perubahan: nilai yang tidak valid sengaja menghentikan startup. Periksa dengan File environment.

Langkah berikutnya

Traktir kopi