S3 Self-hosting
Apa yang akan dibahas dalam tutorial ini?
Tutorial ini akan menunjukkan cara mengatur minio agar dapat bekerja dengan capgo
Ini secara teknis tidak diperlukan untuk menjalankan capgo
Mengatur S3 memungkinkan untuk mengunggah bundle dari CLI
Persyaratan
Memulai
Pertama, buat direktori baru
Kemudian buat folder bernama data
di dalamnya
Lalu jalankan perintah berikut:
docker run \ -p 9000:9000 \ -p 9090:9090 \ --user $(id -u):$(id -g) \ --name minio1 \ -e "MINIO_ROOT_USER=ROOTUSER" \ -e "MINIO_ROOT_PASSWORD=CHANGEME123" \ -v PATH_TO_DATA_FOLDER_CREATED_IN_PREVIOUS_STEP:/data \ quayio/minio/minio server /data --console-address ":9090"
Jika Anda menutup jendela konsol dengan container ini, Anda dapat memulainya dengan:
docker start minio1
Jika Anda perlu mengubah konfigurasi minio, Anda dapat menghapus container dengan menjalankan:
docker rm minio1
⚠️ Perintah ini tidak menghapus data minio
Mengatur fungsi edge
Sekarang kita memiliki server S3 yang berjalan, kita perlu mengatur fungsi edge capgo untuk menggunakan server S3 kita
Untuk melakukan itu kita perlu membuat file ENV di capgo/supabase
bernama envlocal
File ini seharusnya terlihat seperti ini:
STRIPE_WEBHOOK_SECRET=testSTRIPE_SECRET_KEY=testAPI_SECRET=testsecretPLAN_MAKER=testPLAN_SOLO=testPLAN_TEAM=test# Berikut adalah pengaturan penting untuk S3S3_ENDPOINT=hostdockerinternalS3_REGION=dev-regionS3_PORT=9000S3_SSL=falseR2_ACCESS_KEY_ID=ROOTUSERR2_SECRET_ACCESS_KEY=CHANGEME123
IP hostdockerinternal
adalah IP docker yang hanya dapat dijangkau secara internal oleh docker, tetapi kita menggantinya dalam kode dengan 0000
sehingga minio dapat dijangkau dari localhost
Untuk menjalankan fungsi edge dengan file env baru kita gunakan
supabase functions serve --env-file /supabase/envlocal
Mengatur CLI untuk menggunakan S3
CLI tidak akan berfungsi secara default dengan minio. Perubahan berikut pada capacitorconfigts
1 diperlukan
const config: CapacitorConfig = { appId: 'comdemoapp', appName: 'demoApp', webDir: 'dist', bundledWebRuntime: false, plugins: { CapacitorUpdater : { // Tanpa localS3 ini perintah upload akan gagal localS3: true }, },};
Footnotes
-
File terletak di direktori aplikasi Anda ↩