1.9 KiB
1.9 KiB
기술 명세
현재 버전
v0.0.6
스택
- Vue 3 + Vite(SPA)
- Tailwind CSS, Pretendard(변수 폰트, CDN)
- PWA:
vite-plugin-pwa(자동 업데이트 등록) - 데이터: PocketBase(공식 JS SDK)
- 입력 검증: Zod(
src/lib/todoSchema.js)
PocketBase 컬렉션: todos
| 필드 | 타입 | 설명 |
|---|---|---|
title |
text | 할 일 제목 |
done |
bool | 완료 여부 |
규칙(API 규칙)은 운영 환경에 맞게 설정한다. 로컬 개발 시에는 본인 계정에 맞는 생성·수정 권한이 있어야 한다.
환경 변수
| 이름 | 설명 |
|---|---|
VITE_POCKETBASE_URL |
PocketBase 루트 URL(끝 슬래시 없음). 브라우저가 접근 가능한 주소여야 한다. 운영 예: https://api.todo.sori.studio |
VITE_PUBLIC_APP_URL |
사용자에게 보이는 웹앱 URL(끝 슬래시 없음). PWA Web App Manifest의 id 등에 사용. 운영 예: https://todo.sori.studio |
Docker Compose 기본 호스트 포트
다른 서비스와의 충돌을 줄이기 위해 호스트에 붙는 포트를 4만 번대로 둔다. docker-compose.yaml 상단 주석과 ports 항목을 기준으로 한다.
- 웹(nginx 정적): 호스트 42881 → 컨테이너
80 - PocketBase: 호스트 42917 → 컨테이너
8090
포트를 바꾼 경우 VITE_POCKETBASE_URL·VITE_PUBLIC_APP_URL의 포트·도메인도 동일하게 맞춘 뒤 이미지를 다시 빌드한다.
Compose에서 container_name 을 고정해 두었다: todo-pocketbase, todo-web. NAS에 같은 이름의 컨테이너가 이미 있으면 docker-compose.yaml에서 바꾼다.
버전 정책
- 앱 버전은
package.json의version과 문서의v0.0.x형식을 맞춘다.