피드로 돌아가기
Self-Hosting Supabase on a Linux Server
Dev.toDev.to
Infrastructure

Docker 기반 Supabase 자가 호스팅을 통한 데이터 주권 확보 및 보안 강화 설계

Self-Hosting Supabase on a Linux Server

William Kwabena Akoto2026년 6월 26일12intermediate

Context

Firebase의 오픈소스 대안인 Supabase를 Cloud 서비스 대신 Linux 서버에 직접 구축하여 데이터 주권 확보와 비용 최적화를 추구함. Docker Compose를 통한 빠른 배포가 가능하지만, 기본 설정 시 Kong API Gateway가 공인 인터넷에 직접 노출되어 심각한 보안 취약점이 발생하는 한계가 있음.

Technical Solution

  • Docker Compose 기반의 Postgres, GoTrue, PostgREST, Kong 등 마이크로서비스 스택 통합 배포
  • JWT_SECRET 기반의 ANON_KEY 및 SERVICE_ROLE_KEY 생성을 통한 API 접근 제어 및 인증 체계 구축
  • 공인 인터넷 노출을 차단하기 위해 TLS terminated reverse proxy를 최상단에 배치하고 내부 포트 접근을 제한하는 망 분리 구조 설계
  • Postgres의 Row Level Security(RLS) 강제 활성화를 통한 데이터베이스 계층의 세밀한 접근 권한 제어
  • Supabase Studio의 외부 접근을 차단하기 위해 VPN, IP Allowlist 또는 SSH Tunneling을 적용한 관리 도구 격리

- [ ] .env.example의 기본값 제거 및 generate-keys.sh를 통한 고유 Secret Key 생성 확인 - [ ] 모든 Postgres 테이블에 대해 'ALTER TABLE ... ENABLE ROW LEVEL SECURITY' 명령 수행 여부 점검 - [ ] 외부 노출 포트를 80/443으로 제한하고 Kong 및 Studio 포트의 외부 접근 차단 설정 - [ ] 주기적인 'docker compose pull'을 통한 보안 패치 및 이미지 업데이트 프로세스 수립

원문 읽기