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=valueatauenv_filedi Compose. - Proses Go: export di shell lebih dulu. Kanesh tidak memuat file
.envsendiri. - 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
| Variable | Default | Fungsinya |
|---|---|---|
HOST | 127.0.0.1 | Alamat untuk listen. Pakai 0.0.0.0 di dalam container. |
PORT | 8080 | Port untuk Studio dan API. |
DATA_DIR | .data (/data di image) | Folder untuk file SQLite, upload, dan claim token. Backup folder ini. |
SHUTDOWN_TIMEOUT | 10s | Berapa 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.
| Variable | Default | Fungsinya |
|---|---|---|
LOG_LEVEL | info | debug, info, warn, atau error. |
LOG_FORMAT | json | json untuk tool log, text untuk dibaca di terminal. |
LOG_SLOW_REQUEST | 1s | Request yang selambat ini atau lebih dicatat sebagai warning. 0 mematikannya. |
Database
| Variable | Default | Fungsinya |
|---|---|---|
DATABASE_DRIVER | sqlite | sqlite, postgres, atau mysql. |
DATABASE_URL | tidak diatur | Koneksi untuk PostgreSQL (URL) atau MySQL (DSN go-sql-driver, bukan mysql://). |
SQLITE_PATH | DATA_DIR/kanesh.db | Path 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.
| Variable | Default | Fungsinya |
|---|---|---|
BOOTSTRAP_TOKEN | tidak diatur | Secret klaim milikmu sendiri, 32 sampai 256 karakter. Tanpa ini, token sekali pakai ditulis ke DATA_DIR/claim-token. |
ADMIN_EMAIL | tidak diatur | Membuat owner hanya pada instalasi baru. |
ADMIN_PASSWORD | tidak diatur | Password untuk owner itu. Restart tidak pernah meresetnya. |
ADMIN_PASSWORD_FILE | tidak diatur | Membaca password dari file, misalnya secret yang di-mount. Lebih aman daripada ADMIN_PASSWORD. |
DEMO_MODE | false | Menampilkan email dan password owner di layar login. Hanya untuk demo publik. |
Note: Owner bisa melakukan semuanya, seperti super admin. Pakai
DEMO_MODE=truehanya di instalasi terpisah yang sekali pakai dengan data contoh. Jangan pernah di produksi.
Agent dan token
| Variable | Default | Fungsinya |
|---|---|---|
MCP_ENABLED | false | true menyalakan endpoint MCP read-only untuk agent. Lihat MCP untuk agent. |
AUTH_TOKEN_HEADER | tidak diatur | Header tambahan untuk token mentah, seperti X-Api-Key. Authorization: Bearer selalu berfungsi. |
Pemecahan masalah
.envtidak 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.