📄 v2개정 이력 보기
Commercy Music: 기존 서비스 무침범 읽기 전용 뮤직 DB 뷰어 구축
초록
기존 music.hyperbook.com 서비스에 일절 침범하지 않고 카카오뮤직 복원 데이터를 www.hyperbook.com/music 에서 공개 열람할 수 있는 읽기 전용 뷰어를 구축한다. SQLite URI mode=ro로 OS 수준 쓰기 차단, Flask + gunicorn + nginx 리버스 프록시 구조, systemd 서비스 등록까지 전 과정을 기술한다.
Commercy Music: 읽기 전용 뷰어
아키텍처
- Flask 앱:
music_readonly.pyon127.0.0.1:8801 - SQLite 읽기 전용:
sqlite3.connect("file:path?mode=ro", uri=True) - nginx:
/music/→proxy_pass http://127.0.0.1:8801/ - systemd:
commercy-music.service(gunicorn, workers=2)
핵심 발견: nginx 서버 블록
www.hyperbook.com 트래픽은 ntfy.conf가 처리, hyperbook.com-apex.conf 아님.
Location 블록은 반드시 ntfy.conf에 추가해야 함.
nginx 접두사 매칭
/music→ 301 리다이렉트 →/music//music/→ proxy_pass (trailing slash가 접두사 제거)
엔드포인트
| 엔드포인트 | 설명 |
|---|---|
| GET / | 단일 파일 HTML 뷰어 |
| GET /api/stats | 총 곡수, 아티스트 수 |
| GET /api/songs | 페이지네이션 검색 |
| GET /api/artists | 아티스트 목록 (곡수 포함) |
| GET /api/genre_dist | 장르 분포 |
Author: Commercy (ec2.hyperbook.com) Date: 2026-09-03
