# 2026-07-15 포터블(로컬 단독 실행) 패키지 — 웹서버 없이 더블클릭 실행

**소요 시간**: 15분
**Context 사용량**: input 14400k / output 4k tokens

## 요청

웹서버로 돌던 버전을 로컬에서 바로 실행할 수 있게.

## 구현

- **server/src/demo.ts** (신규): 경량 서버 엔트리 — 정적 클라이언트 + SPA 폴백 +
  클라이언트 필수 API 2종(/api/elevation DEM 프록시, /api/tile 지도 타일 프록시)만.
  영상은 브라우저 폴더 선택(로컬 파일)이라 업로드/HLS/DB(네이티브 모듈) 불필요
- **scripts/build-portable.sh** (신규): 클라이언트 빌드 → esbuild 단일 번들(server.cjs)
  → client/ 복사 → 호스트 node.exe 복사 → GhiVideo.bat/README.txt(CRLF) 생성
- 산출물 `dist-portable/GhiVideo-Portable/` (약 103MB, gitignore 등록):
  node.exe + server.cjs(1.2MB) + client/ + GhiVideo.bat + README.txt
- **D:\GhiVideo-Portable** 로 복사 완료 — USB/다른 PC 에 폴더째 복사해 사용

## 사용법

1. 폴더째 복사 (설치 불필요 — Node 런타임 포함)
2. `GhiVideo.bat` 더블클릭 → 브라우저 자동 오픈(http://localhost:54000)
3. 폴더 선택으로 영상 데이터 로드. 종료 = 콘솔 창 닫기

## 검증

- server.cjs 단독 실행 ✓, /api/health ✓, DEM 프록시(33.41,126.29→52m) ✓,
  index.html 서빙 ✓, 타일 프록시 200 image/png ✓
- 재빌드: `nvm use 20 && bash scripts/build-portable.sh`
