Alojamiento autónomo de S3
¿Qué cubrirá este tutorial?
Este tutorial mostrará cómo configurar minio para trabajar con capgo
Esto no es técnicamente necesario para ejecutar capgo
Configurar S3 permite subir paquetes desde la CLI
Requisitos
Comenzando
Primero, crea un nuevo directorio
Luego crea una carpeta llamada data
dentro
Luego ejecuta el siguiente comando:
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"
Si alguna vez cierras la ventana de la consola con este contenedor, puedes iniciarlo con:
docker start minio1
Si alguna vez necesitas cambiar la configuración de minio, puedes eliminar el contenedor ejecutando:
docker rm minio1
⚠️ Este comando no elimina los datos de minio
Configurando funciones edge
Ahora que tenemos un servidor S3 funcionando, necesitamos configurar las funciones edge de capgo para usar nuestro servidor S3
Para hacer eso necesitamos crear un archivo ENV en capgo/supabase
llamado envlocal
Este archivo debería verse así:
STRIPE_WEBHOOK_SECRET=testSTRIPE_SECRET_KEY=testAPI_SECRET=testsecretPLAN_MAKER=testPLAN_SOLO=testPLAN_TEAM=test# A continuación está la configuración importante para S3S3_ENDPOINT=hostdockerinternalS3_REGION=dev-regionS3_PORT=9000S3_SSL=falseR2_ACCESS_KEY_ID=ROOTUSERR2_SECRET_ACCESS_KEY=CHANGEME123
La IP hostdockerinternal
es una IP de docker que solo puede ser alcanzada internamente por docker, pero la reemplazamos en el código con 0000
para que minio pueda ser alcanzado desde localhost
Para ejecutar funciones edge con nuestro nuevo archivo env usa
supabase functions serve --env-file /supabase/envlocal
Configurando CLI para usar S3
La CLI no funcionará por defecto con minio. Se requiere el siguiente cambio en capacitorconfigts
1
const config: CapacitorConfig = { appId: 'comdemoapp', appName: 'demoApp', webDir: 'dist', bundledWebRuntime: false, plugins: { CapacitorUpdater : { // Sin este localS3 el comando de carga fallará localS3: true }, },};
Footnotes
-
El archivo se encuentra en el directorio de tu aplicación ↩