콘텐츠로 건너뛰기

Hébergement autonome S3

이 튜토리얼에서 다룰 내용은?

이 튜토리얼은 capgo와 함께 작동하도록 minio를 설정하는 방법을 보여줍니다.

이는 capgo를 실행하는 데 기술적으로 필요하지는 않습니다.

S3를 설정하면 CLI에서 번들을 업로드할 수 있습니다.

요구사항

  1. Docker

시작하기

먼저, 새 디렉토리를 만듭니다

그런 다음 내부에 data라는 폴더를 만듭니다

그리고 다음 명령을 실행합니다:

Terminal window
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"

이 컨테이너가 있는 콘솔 창을 닫은 경우 다음과 같이 시작할 수 있습니다:

Terminal window
docker start minio1

minio 구성을 변경해야 하는 경우 다음 명령을 실행하여 컨테이너를 제거할 수 있습니다:

Terminal window
docker rm minio1

⚠️ 이 명령은 minio 데이터를 제거하지 않습니다

엣지 함수 설정하기

이제 S3 서버가 실행 중이므로 capgo 엣지 함수가 S3 서버를 사용하도록 설정해야 합니다

이를 위해 capgo/supabaseenvlocal이라는 ENV 파일을 생성해야 합니다

이 파일은 다음과 같아야 합니다:

Terminal window
STRIPE_WEBHOOK_SECRET=test
STRIPE_SECRET_KEY=test
API_SECRET=testsecret
PLAN_MAKER=test
PLAN_SOLO=test
PLAN_TEAM=test
# 아래는 S3 설정에 실제로 중요한 부분입니다
S3_ENDPOINT=hostdockerinternal
S3_REGION=dev-region
S3_PORT=9000
S3_SSL=false
R2_ACCESS_KEY_ID=ROOTUSER
R2_SECRET_ACCESS_KEY=CHANGEME123

hostdockerinternal IP는 도커 내부에서만 도달할 수 있지만, minio가 localhost에서 도달할 수 있도록 코드에서 0000으로 대체됩니다

새 env 파일로 엣지 함수를 실행하려면 다음을 사용하세요

Terminal window
supabase functions serve --env-file /supabase/envlocal

CLI를 S3와 함께 사용하도록 설정하기

CLI는 기본적으로 minio와 작동하지 않습니다. capacitorconfig.ts1에 다음과 같은 변경이 필요합니다

const config: CapacitorConfig = {
appId: 'com.demo.app',
appName: 'demoApp',
webDir: 'dist',
bundledWebRuntime: false,
plugins: {
CapacitorUpdater : {
// 이 localS3가 없으면 업로드 명령이 실패합니다
localS3: true
},
},
};

Footnotes

  1. 파일은 앱 디렉토리에 있습니다