수. 8월 13th, 2025

D: 🚀 Supabase는 오픈소스 Firebase 대체제로, PostgreSQL 기반의 실시간 데이터베이스, 인증, 스토리지 등을 제공합니다. 클라우드 서비스를 사용하는 대신 직접 서버에 구축하면 비용 절감과 커스터마이징이 가능하죠! 이 가이드에서는 Docker로 Supabase 설치부터 API 도메인 연결까지 단계별로 설명합니다.


🔧 1. 준비 사항

  • 서버 환경: Ubuntu 20.04 LTS 이상 (다른 Linux도 가능)
  • Docker & Docker Compose 설치 완료
  • 도메인 (예: api.yourdomain.com)
  • 기본적인 CLI 사용 경험

💡 TIP: Docker 설치가 안 되었다면 아래 명령어로 간단히 설치하세요!

sudo apt-get update && sudo apt-get install docker.io docker-compose

🐳 2. Supabase Docker 설치

Supabase는 공식 Docker Compose 파일을 제공합니다.

  1. 저장소 클론:

    git clone https://github.com/supabase/supabase
    cd supabase/docker
  2. 환경 설정:
    .env 파일을 수정해 주요 설정을 변경합니다.

    POSTGRES_PASSWORD=강력한비밀번호
    JWT_SECRET=랜덤시크릿키
    SITE_URL=https://yourdomain.com
  3. 실행:

    docker-compose up -d

    ⏳ 약 2~3분 뒤 http://서버IP:3000으로 접속해 Studio(관리자 페이지) 확인!


🌐 3. API 도메인 연결 (Nginx 리버스 프록시)

Supabase API(http://서버IP:8000)를 api.yourdomain.com으로 연결해보죠.

  1. Nginx 설치:

    sudo apt install nginx
  2. 설정 파일 생성:
    /etc/nginx/sites-available/supabase-api에 아래 내용 추가:

    server {
       listen 80;
       server_name api.yourdomain.com;
    
       location / {
           proxy_pass http://localhost:8000;
           proxy_set_header Host $host;
       }
    }
  3. 심볼릭 링크 & 재시작:

    sudo ln -s /etc/nginx/sites-available/supabase-api /etc/nginx/sites-enabled/
    sudo systemctl restart nginx
  4. HTTPS 적용 (Certbot):

    sudo apt install certbot python3-certbot-nginx
    sudo certbot --nginx -d api.yourdomain.com

🔥 4. 필수 보안 설정

  • 방화벽: ufw로 22, 80, 443 포트만 허용
    sudo ufw allow 22/tcp
    sudo ufw enable
  • PostgreSQL 암호화: supabase/docker/volumes/db에서 SSL 설정 추가
  • API Rate Limit: Nginx에 limit_req_zone 설정 적용

💡 5. 문제 해결 팁

  • 503 에러: Docker 컨테이너가 실행 중인지 확인
    docker ps
  • JWT 오류: .envJWT_SECRET이 변경되지 않았는지 확인
  • 도메인 연결 실패: DNS 설정이 올바른지 확인 (dig api.yourdomain.com)

🎯 마무리

이제 https://api.yourdomain.com으로 Supabase API를 사용할 수 있습니다!

  • 프론트엔드 연결 예시:
    const supabase = createClient(
    "https://api.yourdomain.com",
    "public-anon-key"
    );

직접 호스팅한 Supabase로 자유도 높은 백엔드를 구축해보세요.
궁금한 점은 댓글로 남겨주시면 답변드립니다!

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다