# 배포 가이드 ## 현재 버전 - `v0.0.1` ## 로컬 개발 1. `cp .env.example .env` 후 `VITE_POCKETBASE_URL`을 실제 PocketBase 주소로 맞춘다. 2. `npm install` 3. `npm run dev` PocketBase는 Docker로 띄우려면 `docker compose up pocketbase`만 실행해도 된다(기본 `8090`). ## Docker Compose(웹 + PocketBase) 프로젝트 루트에서: ```bash export VITE_POCKETBASE_URL="http://<이_기기_IP>:8090" docker compose up -d --build ``` - 웹: `http://<이_기기_IP>:8080` - PocketBase 관리자: `http://<이_기기_IP>:8090/_/` **중요:** `VITE_POCKETBASE_URL`은 **컨테이너가 아니라 브라우저**에서 접근한다. 같은 PC에서만 쓸 때는 `http://127.0.0.1:8090`이 가능하지만, 휴대폰 등 다른 기기에서 접속할 때는 NAS/PC의 LAN IP 또는 공인 도메인을 사용해야 한다. ### PocketBase 초기 설정 요약 1. 관리자 UI에서 컬렉션 `todos` 생성(`title` text, `done` bool). 2. API 규칙을 배포 방식에 맞게 설정(인증 사용 시 로그인 사용자만 생성·수정 가능 등). 3. CORS 허용 출처에 웹 앱 출처(예: `http://:8080`)를 추가한다. ### 선택: 관리자 자동 생성 `docker-compose.yml`의 `pocketbase` 서비스에 `PB_ADMIN_EMAIL`, `PB_ADMIN_PASSWORD` 환경 변수를 추가할 수 있다. 값은 저장소에 넣지 말고 NAS 비밀 관리 방식으로 주입한다. ## 단일 이미지(웹만) `Dockerfile`은 정적 빌드 결과를 nginx로 제공한다. 빌드 시점에 `VITE_POCKETBASE_URL`이 번들에 포함된다. ```bash docker build --build-arg VITE_POCKETBASE_URL="https://pb.example.com" -t todo-web . ``` ## PWA·HTTPS 홈 화면 추가·서비스 워커 동작은 브라우저마다 다르며, **HTTPS**를 쓰는 것이 안정적이다. NAS 리버스 프록시에서 TLS를 종료하는 구성을 권장한다.