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

  1. Tambahkan field file atau image ke koleksi di Settings → Data model.
  2. Upload dari editor record di Studio, atau lewat API. Field menyimpan referensi ke upload di workspace yang sama.
  3. Download wajib login atau token yang valid. File umum dikirim sebagai attachment.

Batas

BatasNilai
Ukuran per file2 MiB
Format gambarPNG, JPEG, GIF, WebP
Ukuran gambarHingga 16 juta piksel
File terbaru di picker50

Pilih lokasi file

VariableDefaultFungsinya
STORAGE_DRIVERdatabasedatabase menyimpan file di dalam SQLite, PostgreSQL, atau MySQL. s3 mengirimnya ke bucket.

Pakai S3 atau MinIO

Atur STORAGE_DRIVER=s3 dan variabel berikut:

VariableDefaultFungsinya
S3_ENDPOINTtidak diaturURL layanan, seperti https://s3.us-east-1.amazonaws.com atau http://minio:9000.
S3_REGIONtidak diaturRegion bucket, seperti us-east-1. Pakai auto untuk Cloudflare R2.
S3_BUCKETtidak diaturNama bucket. Kanesh tidak membuatnya; buat dulu.
S3_ACCESS_KEY_IDtidak diaturAccess key dengan hak baca dan tulis di bucket.
S3_SECRET_ACCESS_KEYtidak diaturSecret untuk key itu. Pilih secret yang di-mount daripada teks biasa.
S3_FORCE_PATH_STYLEfalsetrue 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_DRIVER hanya 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.

Langkah berikutnya

Traktir kopi