Konfigurasi R2
ERD Builder Pro menggunakan Cloudflare R2 untuk penyimpanan objek yang kompatibel dengan S3. Ini digunakan untuk menyimpan aset gambar pada modul Notes dan file hasil Backup Otomatis.
Langkah-langkah Persiapan
- Login ke dashboard Cloudflare.
- Masuk ke menu R2 dan klik Create Bucket.
- Beri nama bucket Anda (contoh:
erd-builder-pro-storage).
Mendapatkan Kredensial API
Untuk menghubungkan aplikasi, Anda memerlukan API Token:
- Klik Manage R2 API Tokens di sidebar kanan dashboard R2.
- Klik Create API Token.
- Pilih izin Object Read & Write (atau Edit) untuk bucket yang telah dibuat.
- Klik Create Token dan segera simpan nilai berikut:
- Access Key ID
- Secret Access Key
Mengaktifkan Akses Publik (R2_PUBLIC_URL)
Agar gambar yang Anda unggah dapat tampil di aplikasi, bucket Anda harus bisa diakses secara publik melalui URL:
- Di dashboard bucket Anda, buka tab Settings.
- Cari bagian Public Access.
- Pilih salah satu metode:
- Custom Domain: Hubungkan subdomain Anda (misal:
assets.domainanda.com). Ini adalah cara yang paling direkomendasikan. - R2.dev Subdomain: Klik Allow untuk mengaktifkan subdomain gratis dari Cloudflare. Ini cukup untuk keperluan testing.
- Custom Domain: Hubungkan subdomain Anda (misal:
- Salin URL yang dihasilkan dan gunakan sebagai nilai
R2_PUBLIC_URL.
Konfigurasi ke Aplikasi
Masukkan nilai-nilai tersebut ke dalam file .env:
R2_ACCOUNT_ID=dapatkan_dari_dashboard_r2
R2_ACCESS_KEY_ID=your_access_key
R2_SECRET_ACCESS_KEY=your_secret_key
R2_BUCKET_NAME=nama_bucket_anda
R2_PUBLIC_URL=https://subdomain-anda.r2.dev atau https://assets.domain.com
Keamanan Tambahan: Konfigurasi CORS
Untuk mencegah aset gambar Anda dipanggil atau digunakan oleh website lain yang tidak sah, Anda wajib mengatur CORS (Cross-Origin Resource Sharing):
- Buka dashboard bucket R2 Anda, lalu buka tab Settings.
- Cari bagian CORS Policy dan klik Add CORS Policy.
- Masukkan konfigurasi JSON berikut (sesuaikan domainnya):
[
{
"AllowedOrigins": [
"https://erd.bekenweb.com",
"http://localhost:3000"
],
"AllowedMethods": ["GET"],
"AllowedHeaders": ["*"],
"ExposeHeaders": [],
"MaxAgeSeconds": 3000
}
]
- Klik Save.
Dengan konfigurasi ini, gambar Anda hanya akan muncul jika dibuka melalui domain resmi Anda atau saat pengembangan di lokal (localhost).
[!IMPORTANT] Pastikan
R2_PUBLIC_URLdiakhiri tanpa tanda slash/di bagian belakang.