바이브코딩으로 만든 앱, 데이터는 어디에 둘까?
Claude Code나 Cursor로 앱을 만드는 건 이제 어렵지 않습니다. 프롬프트 몇 줄이면 CRUD API가 나오고, 화면까지 붙습니다. 문제는 그 다음입니다. “데이터베이스는 어디에 두지?”
대부분 Supabase를 선택합니다. 무료이고, PostgreSQL 기반이고, API도 자동 생성됩니다. 하지만 무료 플랜으로 실제 서비스를 운영하려고 하면 벽에 부딪힙니다.
이 글에서는 Supabase 무료 플랜의 한계를 짚고, 시놀로지 나스에 MariaDB를 설치해서 바이브코딩 프로젝트의 백엔드를 직접 구축하는 방법을 정리합니다.
NAS 구축이나 DB 환경 설정에서 막히는 부분이 있다면 상담 문의를 남겨주셔도 됩니다.
Supabase 무료 플랜, 뭐가 문제인가?
Supabase는 시작하기엔 훌륭합니다. 하지만 무료 플랜에는 실무에서 걸리는 제한이 있습니다.
| 항목 | Supabase 무료 | NAS MariaDB |
|---|---|---|
| DB 용량 | 500MB | 디스크 용량만큼 (수 TB) |
| 프로젝트 수 | 2개 | 제한 없음 |
| 일시정지 | 7일 미접속 시 자동 정지 | 없음 (24시간 가동) |
| 월 비용 | 무료 → Pro $25/월 | 전기세만 (월 3~5천원) |
| 데이터 위치 | AWS 해외 리전 | 내 사무실 NAS |
| 설치 난이도 | 가입만 하면 됨 | 패키지 센터 클릭 한 번 |
500MB는 생각보다 빨리 찹니다
텍스트 데이터만 넣으면 여유 있어 보이지만, 로그 테이블이나 이미지 메타데이터가 쌓이기 시작하면 몇 주 만에 한계에 도달합니다. 특히 바이브코딩으로 빠르게 프로토타입을 찍어내면 DB를 여러 개 만들게 되는데, 무료 플랜은 프로젝트 2개가 전부입니다.
7일 안 쓰면 꺼집니다
무료 프로젝트는 7일간 요청이 없으면 자동으로 일시정지됩니다. 사이드 프로젝트나 사내 도구처럼 가끔 쓰는 서비스는 접속할 때마다 깨워야 합니다. 복구에 수 분이 걸리고, 그 사이 서비스는 먹통입니다.
Pro 플랜은 월 $25부터
제한을 풀려면 Pro 플랜($25/월)으로 올려야 합니다. 연 30만원입니다. 사이드 프로젝트 하나에 이 비용을 쓰기엔 부담스럽습니다. 프로젝트가 늘어나면 비용은 곱으로 늘어납니다.

왜 시놀로지 나스 MariaDB인가?
시놀로지 NAS에는 MariaDB 10이 공식 패키지로 제공됩니다. Docker를 설치하거나 터미널에서 컴파일할 필요 없이, 패키지 센터에서 클릭 한 번이면 설치가 끝납니다.

Docker 없이 바로 쓸 수 있습니다
일부 DB는 NAS에서 쓰려면 Docker 컨테이너를 올려야 합니다. 하지만 MariaDB는 DSM 패키지 센터에서 바로 설치됩니다. phpMyAdmin도 패키지로 제공되어 웹 브라우저에서 DB를 관리할 수 있습니다. Docker에 익숙하지 않은 바이브코딩 유저에게는 이 차이가 큽니다.
용량 제한이 사실상 없습니다
NAS에 장착한 디스크 용량이 곧 DB 용량입니다. 4TB 디스크 2개를 넣었다면 수 TB의 DB 공간을 쓸 수 있습니다. Supabase 500MB와는 비교가 안 됩니다.
프로젝트를 몇 개든 만들 수 있습니다
MariaDB 안에서 데이터베이스를 원하는 만큼 생성할 수 있습니다. 바이브코딩으로 새 프로젝트를 만들 때마다 CREATE DATABASE 한 줄이면 됩니다. 프로젝트 수 제한도, 추가 비용도 없습니다.
24시간 가동, 일시정지 없음
NAS는 기본적으로 24시간 켜져 있는 장비입니다. 7일 동안 접속 안 해도 DB가 꺼지지 않습니다. 사이드 프로젝트, 사내 도구, 개인 앱 모두 항상 접속 가능합니다.
설치 방법 — 패키지 센터에서 3분
1단계: MariaDB 10 설치
DSM에 로그인 → 패키지 센터 → 검색창에 “MariaDB” → MariaDB 10 설치. 설치 중에 root 비밀번호를 설정하라는 창이 나옵니다. 이 비밀번호는 DB 관리에 계속 쓰이므로 기록해 두세요.

2단계: phpMyAdmin 설치 (선택)
같은 패키지 센터에서 phpMyAdmin을 설치하면 웹 브라우저에서 DB를 관리할 수 있습니다. 테이블 구조 확인, 데이터 조회, SQL 실행이 GUI로 가능합니다. 터미널이 익숙하지 않다면 설치를 권장합니다.
3단계: 프로젝트용 데이터베이스 생성
phpMyAdmin 또는 터미널에서 프로젝트용 데이터베이스와 전용 사용자를 만듭니다.
-- 데이터베이스 생성
CREATE DATABASE my_project CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-- 전용 사용자 생성 (root 직접 사용은 비추천)
CREATE USER 'myapp'@'%' IDENTIFIED BY '비밀번호';
GRANT ALL PRIVILEGES ON my_project.* TO 'myapp'@'%';
FLUSH PRIVILEGES;
@'%'는 외부에서도 접속할 수 있도록 허용하는 설정입니다. 같은 NAS 안에서만 접속한다면 @'localhost'로 제한하는 것이 보안상 낫습니다.
4단계: 포트 확인
MariaDB 기본 포트는 3307입니다 (MySQL의 3306과 다르므로 주의하세요). DSM → MariaDB 10 → 설정에서 포트 번호를 확인할 수 있습니다. 외부에서 접속하려면 공유기에서 해당 포트를 포트포워딩해야 합니다.
Claude Code로 바로 연결하기
바이브코딩의 핵심은 AI에게 코드를 맡기는 것입니다. MariaDB 설치가 끝났다면 Claude Code에 아래처럼 요청하면 됩니다.
프롬프트 예시:
"NAS의 MariaDB에 연결해서 고객 관리 API를 만들어줘.
호스트: 192.168.1.100
포트: 3307
DB: my_project
유저: myapp
비밀번호: ****
Node.js + Express로 CRUD API 만들어줘."
Claude Code는 이 정보를 바탕으로 DB 연결 코드, 테이블 생성 SQL, API 엔드포인트까지 한 번에 만들어줍니다. Supabase의 자동 생성 API와 비슷한 결과를 내 NAS 위에서 얻을 수 있습니다.
Python으로 연결하는 경우
# pip install pymysql
import pymysql
conn = pymysql.connect(
host='192.168.1.100', # NAS IP
port=3307,
user='myapp',
password='비밀번호',
database='my_project',
charset='utf8mb4'
)
cursor = conn.cursor()
cursor.execute("SELECT * FROM customers")
print(cursor.fetchall())
MySQL 클라이언트 라이브러리가 그대로 호환됩니다. Python은 pymysql, Node.js는 mysql2, PHP는 mysqli를 쓰면 됩니다.
주의사항
외부 접속 시 보안 설정 필수
MariaDB 포트를 외부에 열면 공격 대상이 될 수 있습니다. 외부 접속이 필요하다면 반드시 방화벽 설정으로 허용 IP를 제한하고, DB 비밀번호를 충분히 강하게 설정해야 합니다. 가능하면 VPN을 통해 접속하는 것을 권장합니다.
백업은 별도로 설정해야 합니다
Supabase는 자동 백업이 포함되어 있지만, NAS MariaDB는 직접 백업을 설정해야 합니다. Hyper Backup으로 DB 폴더를 정기 백업하거나, mysqldump 스크립트를 작업 스케줄러에 등록하면 됩니다.
대규모 트래픽에는 맞지 않습니다
NAS는 개인·소규모 서비스용입니다. 동시 접속 수백 명 이상의 서비스라면 클라우드 DB가 맞습니다. 하지만 사이드 프로젝트, 사내 도구, 1인 서비스 수준이라면 NAS MariaDB로 충분합니다.
Supabase vs NAS MariaDB — 어떤 상황에 뭘 쓸까
| 상황 | 추천 |
|---|---|
| 빠르게 프로토타입만 확인하고 싶습니다 | Supabase 무료 |
| 프로젝트가 3개 이상입니다 | NAS MariaDB |
| 사내 도구로 계속 쓸 예정입니다 | NAS MariaDB |
| 데이터가 500MB를 넘을 수 있습니다 | NAS MariaDB |
| 가끔만 접속하는 서비스입니다 | NAS MariaDB (일시정지 없음) |
| 외부 사용자 대상 서비스입니다 | Supabase Pro 또는 클라우드 |
| 데이터가 해외에 나가면 안 됩니다 | NAS MariaDB (데이터 주권) |
관련 글
정리
바이브코딩으로 앱을 만드는 건 쉬워졌지만, 데이터베이스를 어디에 둘지는 여전히 고민입니다. Supabase는 시작하기엔 좋지만, 무료 플랜의 제한은 실무에서 빠르게 벽이 됩니다.
시놀로지 NAS에 MariaDB를 설치하면 용량 제한 없이, 일시정지 걱정 없이, 프로젝트를 원하는 만큼 만들 수 있습니다. Docker도 필요 없습니다. 패키지 센터에서 클릭 한 번이면 끝입니다.
- Supabase 무료는 500MB, 프로젝트 2개, 7일 미접속 시 정지
- NAS MariaDB는 디스크 용량만큼 무제한, 24시간 가동
- 패키지 센터에서 설치 → phpMyAdmin으로 관리 → Claude Code로 API 연결
- 외부 접속 시 방화벽 필수
NAS에 MariaDB를 설치하고 싶은데 설정이 어렵거나, 바이브코딩 프로젝트에 맞는 NAS 구성이 궁금하다면 편하게 문의해주세요. 현재 환경에 맞는 구성을 안내해드립니다. 구축 상담 문의
