Operasional
Upload file dan penyimpanan
Simpan upload di database atau di S3 dan MinIO, dengan batas ukuran dan tipe.
Upload disimpan di database secara default, jadi satu backup mencakup semuanya. Pindah ke S3 atau layanan yang kompatibel dengan S3, seperti MinIO atau Cloudflare R2, saat file makin besar.
Cara kerja upload
- Tambahkan field file atau image ke koleksi di Settings → Data model.
- Upload dari editor record di Studio, atau lewat API. Field menyimpan referensi ke upload di workspace yang sama.
- Download wajib login atau token yang valid. File umum dikirim sebagai attachment.
Batas
| Batas | Nilai |
|---|---|
| Ukuran per file | 2 MiB |
| Format gambar | PNG, JPEG, GIF, WebP |
| Ukuran gambar | Hingga 16 juta piksel |
| File terbaru di picker | 50 |
Pilih lokasi file
| Variable | Default | Fungsinya |
|---|---|---|
STORAGE_DRIVER | database | database menyimpan file di dalam SQLite, PostgreSQL, atau MySQL. s3 mengirimnya ke bucket. |
Pakai S3 atau MinIO
Atur STORAGE_DRIVER=s3 dan variabel berikut:
| Variable | Default | Fungsinya |
|---|---|---|
S3_ENDPOINT | tidak diatur | URL layanan, seperti https://s3.us-east-1.amazonaws.com atau http://minio:9000. |
S3_REGION | tidak diatur | Region bucket, seperti us-east-1. Pakai auto untuk Cloudflare R2. |
S3_BUCKET | tidak diatur | Nama bucket. Kanesh tidak membuatnya; buat dulu. |
S3_ACCESS_KEY_ID | tidak diatur | Access key dengan hak baca dan tulis di bucket. |
S3_SECRET_ACCESS_KEY | tidak diatur | Secret untuk key itu. Pilih secret yang di-mount daripada teks biasa. |
S3_FORCE_PATH_STYLE | false | true untuk MinIO dan kebanyakan layanan yang kompatibel dengan S3. |
Contoh untuk MinIO di samping Kanesh di Compose:
STORAGE_DRIVER=s3
S3_ENDPOINT=http://minio:9000
S3_REGION=us-east-1
S3_BUCKET=kanesh-uploads
S3_ACCESS_KEY_ID=kanesh
S3_SECRET_ACCESS_KEY=CHANGE_ME
S3_FORCE_PATH_STYLE=true Biarkan bucket tetap privat. Kanesh memeriksa izin dan melayani setiap download sendiri, jadi file tidak pernah publik lewat URL.
Note: Mengubah
STORAGE_DRIVERhanya memengaruhi upload baru. File yang sudah ada tetap di tempat penyimpanannya dan tetap berfungsi.
Backup
- Penyimpanan database: backup database sudah mencakup semua upload.
- Penyimpanan S3: backup database dan bucket. Nyalakan versioning bucket untuk memulihkan file yang terhapus atau tertimpa.
Perlu diketahui
- Ekspor CSV dan JSON berisi ID file, bukan file-nya.