원문 캡처 · github.com
원문 캡처 · github.com

instancez는 Supabase 클라이언트와 호환되는 백엔드를 YAML 파일 하나로 정의하고, 단일 바이너리로 실행하는 오픈소스 프로젝트다. 자체 호스팅 환경이나 Docker, Kubernetes, AWS Lambda 등에 배포할 수 있으며, 실시간 기능은 아직 지원하지 않는다.

instancez.yaml에 테이블과 행 수준 보안(RLS), 인증, 스토리지, 함수를 선언하면 instancez가 실행 중인 데이터베이스와 비교해 변경분을 적용한다. 기존 @supabase/supabase-js 클라이언트도 instancez를 대상으로 사용할 수 있다. 제품 저장소는 인증, REST API, RPC, 스토리지 등 기능별 지원 범위를 Supabase와 비교해 공개하고 있다. 예를 들어 스토리지는 JPEG·PNG만 지원하며 WebP·AVIF는 지원하지 않는다.

macOS·Linux에서는 설치 스크립트를, Windows에서는 PowerShell 명령을 사용할 수 있다.

sh
# macOS / Linux
curl -fsSL https://get.instancez.ai | sh

# Windows (PowerShell):
irm https://get.instancez.ai/windows | iex

프로젝트를 초기화하고 PostgreSQL을 내장 모드로 실행하는 기본 흐름은 다음과 같다. 내장 PostgreSQL 대신 자체 데이터베이스를 쓰려면 --embedded-pg를 빼고 INSTANCEZ_DATABASE_URL을 설정한다.

sh
mkdir my-app && cd my-app
inz init
inz dev --embedded-pg # no Postgres to install; or drop the flag and set INSTANCEZ_DATABASE_URL to use your own

inz dev는 PostgreSQL 역할을 준비하고 스키마를 적용한 뒤 http://localhost:8080에서 API를 제공한다. 개발용 키는 첫 실행 때 생성되며 .development.env에서 확인할 수 있다. instancez.yaml을 수정하면 스키마가 자동으로 다시 적용된다. 초기 설정의 todos 테이블은 로그인한 사용자의 행만 읽고 쓸 수 있도록 RLS 정책을 포함한다.

배포는 직접 호스팅할 때 inz serve를 실행하거나, 관리형 서비스인 instancez Cloud에 inz cloud deploy로 배포하는 방식이 있다. 자체 호스팅은 Docker, Kubernetes, AWS Lambda, 일반 가상 머신을 지원한다. 전체 절차와 설정은 문서에서 확인할 수 있다.

실시간 통신과 웹소켓은 아직 지원되지 않는다. OAuth 기본 제공 업체는 Google, GitHub, Apple이며, 스토리지 기능에는 이미지 형식 제한이 있다. 소스 코드와 추가 예제는 GitHub 저장소에서 제공한다.