Mulai

Setup database

Jalankan Kanesh di SQLite, PostgreSQL, atau MySQL, lewat script install atau manual.

Setelah mengikuti panduan ini, kamu akan tahu database yang sesuai dan cara mengatur koneksinya di Kanesh. Koleksi disimpan sebagai tabel SQL sungguhan.

Sebelum mulai

  • Untuk contoh Docker manual, build image lokal dengan mengikuti Memulai.
  • Untuk PostgreSQL atau MySQL, siapkan alamat database dan kredensial untuk DATABASE_URL.
  • Pilih salah satu cara setup di bawah: script install atau konfigurasi manual.

1. Pilih database

DatabaseDukunganCocok untuk
SQLiteDefault, penuhSatu mesin, tim kecil, demo
PostgreSQLPenuhInstalasi dengan PostgreSQL eksternal
MySQLPenuhServer MySQL yang sudah ada

2. Atur database pilihanmu

Opsi A: script install

Script akan menanyakan database yang dipakai, atau menerima flag:

Note: YOUR_KANESH_SITE adalah placeholder, bukan alamat unduhan. Belum ada image yang dipublikasikan; untuk preview saat ini, gunakan image hasil build dari source dengan cara manual di bawah.

curl -fsSL https://YOUR_KANESH_SITE/install.sh | sh -s -- --db postgres
FlagHasil
--db sqliteSatu container, data di volume kanesh-data
--db postgresMenambah service postgres:17-alpine dengan password acak
--db mysqlMenambah service mysql:8.4 dengan password acak
--port 9000Membuka Kanesh di port lokal lain
--mcpMenyalakan endpoint MCP

Script menulis docker-compose.yml dan .env privat di ./kanesh, dan tidak pernah menimpa .env yang sudah ada. Image publik hadir bersama rilis pertama; sampai saat itu, build dari source seperti di Memulai.

Opsi B: konfigurasi manual

SQLite

Tidak perlu konfigurasi. File tersimpan di DATA_DIR/kanesh.db, atau atur SQLITE_PATH.

docker run -p 127.0.0.1:8080:8080 -v kanesh-data:/data kanesh

PostgreSQL

docker run -p 127.0.0.1:8080:8080 -v kanesh-data:/data \
  -e DATABASE_DRIVER=postgres \
  -e DATABASE_URL="postgres://kanesh:secret@db.internal:5432/kanesh?sslmode=require" \
  kanesh

MySQL

Note: MySQL memakai DSN go-sql-driver, bukan URL mysql://. Pada kedua perintah database eksternal, ganti alamat dan kredensial contoh dengan milikmu sendiri.

docker run -p 127.0.0.1:8080:8080 -v kanesh-data:/data \
  -e DATABASE_DRIVER=mysql \
  -e DATABASE_URL="kanesh:secret@tcp(db.internal:3306)/kanesh" \
  kanesh

3. Selesaikan setup instalasi

Buka http://127.0.0.1:8080 dan klaim instalasi baru sesuai panduan Memulai. Kalau database pilihanmu tidak bisa dijangkau, Kanesh berhenti dengan error, bukan diam-diam pindah ke SQLite.

Pemecahan masalah

  • Kanesh berhenti setelah memilih database eksternal: periksa driver, alamat koneksi, dan kredensial. Kegagalan database eksternal tidak membuat Kanesh beralih ke SQLite.
  • String koneksi MySQL ditolak: gunakan DSN go-sql-driver seperti contoh di atas, bukan URL mysql://.

Langkah berikutnya

Traktir kopi