Add persistent multi-user sessions and Docker deployment
This commit is contained in:
parent
51a6e845d1
commit
104577c826
24 changed files with 2094 additions and 468 deletions
15
README.md
15
README.md
|
|
@ -10,6 +10,9 @@
|
|||
- **세로 3열 비교 UI**: Phase 1 / Phase 3 / Phase 4 결과를 한눈에 비교
|
||||
- **다크모드 지원**: 시스템 설정 자동 감지 + 수동 토글 (localStorage 지속화)
|
||||
- **JWT 기반 인증**: config-file 기반 ID/PW 로그인
|
||||
- **다중 사용자 및 영속 세션**: 사용자별 SQLite 세션 저장과 동일 세션 재개
|
||||
- **직전 버전 복원**: 번역을 덮어쓰기 전 세션 snapshot 보존
|
||||
- **관리자 사용자 관리**: 계정 생성, 비밀번호 초기화, 활성화 및 권한 관리
|
||||
- **단일 서버 배포**: FastAPI가 API + 정적 프론트엔드 동시에 서빙
|
||||
|
||||
## 빠른 시작
|
||||
|
|
@ -64,6 +67,9 @@ uvicorn backend.main:app --host 0.0.0.0 --port 8000
|
|||
| `LLMS_CONFIG_PATH` | LLM 설정 파일 경로 | `config/llms.json` |
|
||||
| `USERS_CONFIG_PATH` | 사용자 설정 파일 경로 | `config/users.json` |
|
||||
| `PORT` | 서버 포트 | `8000` |
|
||||
| `DATABASE_PATH` | SQLite DB 경로 | `data/translator.db` |
|
||||
| `BOOTSTRAP_ADMIN_ID` | 최초 관리자 ID | 없음 |
|
||||
| `BOOTSTRAP_ADMIN_PASSWORD` | 최초 관리자 비밀번호 | 없음 |
|
||||
| `LLM_TIMEOUT_SECONDS` | 개별 LLM 호출 제한 시간 | `180` |
|
||||
| `TRANSLATION_CHUNK_CHARS` | 장문 분할 목표 크기 | `1500` |
|
||||
|
||||
|
|
@ -120,6 +126,15 @@ uvicorn backend.main:app --host 0.0.0.0 --port 8000
|
|||
|
||||
LLM 처리 중에는 현재 chunk 번호와 스트리밍으로 수신 중인 최근 내용이 화면에 임시 표시됩니다. Phase 1 JSON이 불완전하면 코드 블록·주변 문구·후행 쉼표를 먼저 보정하고, 실패 시 LLM JSON 복구를 거쳐 일반 번역 결과로 폴백합니다.
|
||||
|
||||
## Docker 배포
|
||||
|
||||
```bash
|
||||
docker compose up -d --build
|
||||
docker compose ps
|
||||
```
|
||||
|
||||
첫 실행 전에 `.env`에 `BOOTSTRAP_ADMIN_ID`와 충분히 강한 `BOOTSTRAP_ADMIN_PASSWORD`를 지정해야 합니다. Docker는 로컬 개발용 기본 계정을 가져오지 않습니다. SQLite DB와 자동 생성 JWT 키는 `translator-data` volume에 저장됩니다. 상세 설정, 백업 및 복원 절차는 `DEPLOYMENT.md`를 참고하세요.
|
||||
|
||||
## 자동 테스트
|
||||
|
||||
```bash
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue