Supabase 삽질 과정

루비·2024년 1월 30일
0

Supabase

목록 보기
1/2

failed to connect to postgres: failed to connect to host=db.gttmsjtasvptsdiohoyf.supabase.co user=postgres database=postgres: dial error (dial tcp [2406:da12:b78:de03:8b88:49c0:af6f:f3e1]:5432: connect: no route to host)

Supabase를 커넥하는 과정에서 오류가 생겼다.

도커 설치하기

Mac 환경에서 Supabase를 실행하려면 Docker를 설치하고 사용하는 것이 일반적인 접근 방식입니다. Supabase는 Docker 컨테이너를 사용하여 로컬 환경에서 Postgres 데이터베이스, 인증 서비스, 실시간 구독 및 기타 기능을 제공합니다. Docker를 사용하지 않고 직접 설치하는 것은 상당히 복잡할 수 있으며, 일반적으로 권장되지 않습니다.

no configuration file provided: not found 오류는 Docker에서 Supabase를 실행할 때 필요한 구성 파일이 제공되지 않았거나 찾을 수 없음을 나타냅니다. 이 문제를 해결하기 위해 Docker를 사용하여 Supabase를 실행하는 과정을 자세하게 안내해 드리겠습니다:

Docker를 사용한 Supabase 실행 과정

  1. Docker 설치 확인:

    • 이미 Docker를 설치하셨으니, 터미널에서 docker --version을 실행하여 Docker가 정상적으로 설치되었는지 확인하세요.
  2. Supabase GitHub 저장소 복제:

    • 적절한 작업 디렉토리로 이동하세요.
    • 터미널에서 git clone https://github.com/supabase/supabase 명령어를 사용하여 Supabase의 GitHub 저장소를 복제하세요.
  3. 복제한 저장소로 이동:

    • cd supabase 명령어를 사용하여 복제한 Supabase 저장소의 디렉토리로 이동하세요.
  4. Docker Compose 파일 확인:

    • ls 명령어를 사용하여 현재 디렉토리의 파일 목록을 확인하세요. 여기에는 docker-compose.yml 파일이 포함되어 있어야 합니다.
    • 이 파일은 Docker 컨테이너를 실행할 때 필요한 설정을 포함하고 있습니다.
  1. Docker Compose를 사용하여 Supabase 시작:

    • docker-compose up 명령어를 실행하여 Supabase 서비스를 시작하세요.
    • 이 명령은 docker-compose.yml 파일에 정의된 모든 컨테이너를 시작합니다.
  2. 오류 메시지 확인:

    • no configuration file provided: not found 오류가 다시 발생하면, docker-compose.yml 파일의 내용과 경로를 확인하세요.
    • 필요한 경우, Supabase GitHub 저장소의 README 파일을 참조하여 추가 설정이 필요한지 확인하세요.
    • 나는 docker 파일 안에 docker-compose.yml이 존재하여서 cd docker를 한 번 더 해줬던 걸로 기억난다.
  3. 로그 확인:

    • 오류가 발생하면, Docker 컨테이너의 로그를 확인하여 문제의 원인을 파악하세요.
    • 터미널에서 docker logs [컨테이너 이름] 명령어를 사용하여 특정 컨테이너의 로그를 확인할 수 있습니다.
  4. 환경 변수 설정:

    • Supabase를 로컬에서 실행하기 위해 특정 환경 변수 설정이 필요할 수 있습니다.
    • .env 파일을 생성하거나 docker-compose.yml 파일에서 환경 변수를 설정해야 할 수 있습니다.
  5. Supabase 문서 참조:

    • Supabase 공식 문서나 GitHub 저장소의 README 파일에서 추가적인 설정 지침을 확인할 수 있습니다.

Supabase 환경설정 데이터베이스 확인


몇 개월 전에 만들었던 프로젝트는 Host 방식이 db.이렇게 시작되었다.

하지만, 이제는 Host가 aws-0 어쩌구 저쩌구 이런 식으로 되어있다.


이 상태에서 Host의 정보를 변경하지 않고, link를 사용하여 파일에 접근을 하니 당연하게 에러 사항이 났다. aws-0-ap- 어쩌구 저쩌구로 호스트에 연결이 성공했어야했는데, 프로젝트는 db.(프로젝트URL)로 참조하여서 연결에 실패하는 것이였다.

특히나, 나는 아래의 유튜브를 참조하여서 실행했기 때문에 전혀 코드에는 작성 오류가 없었다고 생각했다.
참조 유튜브

HOST 번호 변경하여 Supabase 프로젝트 파일에 연결하기

사실 그래서 얍삽하게, db.있는 정보로 파일을 변경하였다.

근데 위와 같은 메시지가 떴다.. 하아 .. 그냥 솔직히 쉽게 설치해도 되는데, 왜 내가 이 분의 유튜브를 골랐을까;; 참 .. 매우 슬프다..

supabase init에서 y 안해서 오류가 생겨버림..

supabase init
Generate VS Code settings for Deno? [y/N] y

supabase init 폴더를 만든 후 꼭 enter대신 y를 누르자. 이것 때문에 안되었다. 그리고는 유튜브대로 행하면 무사하게 시작이 진행된다..

supabase link --project-ref <프로젝트 ID> <database password>

입력을 해주면 무사히 실행이 가능하다. 이것을 엔터하면, 다시 데이터베이스 페스워드를 입력해야하는 것 잊지 말고.. 그러면 성공적으로 연결이 성공하다.

supabase gen types 안불러오진다.

그럴 때는 위와 같은 형식을 취하면 된다.

supabase gen types typescript --linked > ./types/supabase.ts

나는 해당 프로젝트에서 linked로 연결하여서 위와 같은 방식을 사용했다. 아까의 유튜브 영상을 참조하면,

types/supabase.ts

로 나오는데, 공식 영상을 참조하니까 무사히 되었다. 만약 적용되지 않는다면, types/supabase.ts 폴더를 삭제하고 다시 만들면 된다.
supabase 유튜브

결론

무려 5시간 동안 헤맸다. 앞으로는 꼭.. y/N 있으면, 무조건 실행하고 설치하기..

profile
개발훠훠

0개의 댓글

관련 채용 정보