Self-hosting S3
이 튜토리얼에서 다룰 내용은?
이 튜토리얼은 capgo와 함께 작동하도록 minio를 설정하는 방법을 보여줍니다
이는 capgo를 실행하는 데 기술적으로 필수는 아닙니다
S3 설정을 통해 CLI에서 번들을 업로드할 수 있습니다
요구사항
시작하기
먼저, 새 디렉토리를 생성하세요
그런 다음 내부에 data
라는 폴더를 만드세요
그리고 다음 명령어를 실행하세요:
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"
콘솔 창을 닫은 경우 다음 명령어로 컨테이너를 시작할 수 있습니다:
docker start minio1
minio 설정을 변경해야 하는 경우 다음 명령어로 컨테이너를 제거할 수 있습니다:
docker rm minio1
⚠️ 이 명령어는 minio 데이터를 제거하지 않습니다
edge functions 설정하기
이제 S3 서버가 실행 중이므로 capgo edge functions가 S3 서버를 사용하도록 설정해야 합니다
이를 위해 capgo/supabase
에 envlocal
이라는 ENV 파일을 생성해야 합니다
이 파일은 다음과 같아야 합니다:
STRIPE_WEBHOOK_SECRET=testSTRIPE_SECRET_KEY=testAPI_SECRET=testsecretPLAN_MAKER=testPLAN_SOLO=testPLAN_TEAM=test# 아래는 S3 설정에 실제로 중요한 부분입니다S3_ENDPOINT=hostdockerinternalS3_REGION=dev-regionS3_PORT=9000S3_SSL=falseR2_ACCESS_KEY_ID=ROOTUSERR2_SECRET_ACCESS_KEY=CHANGEME123
ip hostdockerinternal
은 docker 내부에서만 접근할 수 있는 docker ip이지만, minio가 localhost에서 접근할 수 있도록 코드에서 0000
으로 대체합니다
새로운 env 파일로 edge functions를 실행하려면 다음을 사용하세요
supabase functions serve --env-file /supabase/envlocal
CLI에서 S3 사용 설정하기
CLI는 기본적으로 minio와 작동하지 않습니다. capacitorconfigts
1에 다음과 같은 변경이 필요합니다
const config: CapacitorConfig = { appId: 'comdemoapp', appName: 'demoApp', webDir: 'dist', bundledWebRuntime: false, plugins: { CapacitorUpdater : { // localS3가 없으면 upload 명령어가 실패합니다 localS3: true }, },};
Footnotes
-
파일은 앱 디렉토리에 있습니다 ↩