feat: NanoClaude 프로덕션 통합 — Docker, Caddy, aiosqlite 로깅

- docker-compose에 nanoclaude 서비스 추가 (포트 8100)
- Caddy /nano/* → nanoclaude 리버스 프록시 (SSE flush)
- aiosqlite 요청/응답 로깅 (request_logs 테이블)
- .env.example, CLAUDE.md 업데이트

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Hyungi Ahn
2026-04-06 11:19:15 +09:00
parent 1e427bc98a
commit e970ebdbea
10 changed files with 122 additions and 2 deletions

View File

@@ -9,13 +9,14 @@ GPU 서버(RTX 4070 Ti Super)에서 운영하는 중앙 AI 라우팅 서비스.
|--------|----------|------|------|
| Caddy | caddy/ | Caddy 2 | 80/443 |
| hub-api | hub-api/ | FastAPI + aiosqlite | 8000 |
| hub-web | hub-web/ | Vite + React + shadcn/ui | 3000 (Phase 2) |
| hub-web | hub-web/ | Vite + React + shadcn/ui | 3000 |
| NanoClaude | nanoclaude/ | FastAPI + aiosqlite | 8100 |
## 외부 연결
- GPU Ollama: host.docker.internal:11434
- 맥미니 Ollama: 100.115.153.119:11434
- NanoClaude: 100.115.153.119:PORT (Phase 1.5)
- NanoClaude: localhost:8100 (비동기 job 기반 AI Gateway)
## 개발
@@ -37,6 +38,11 @@ OpenAI 호환: `/v1/chat/completions`, `/v1/models`, `/v1/embeddings`
인증: `/auth/login` → Cookie 또는 Bearer 토큰
모니터링: `/health`, `/gpu`
## NanoClaude API
비동기 job 기반: `POST /nano/chat``{ job_id }`, `GET /nano/chat/{job_id}/stream` → SSE
취소: `POST /nano/chat/{job_id}/cancel`
## 백엔드 설정
`backends.json`에서 백엔드 추가/제거. 서비스 재시작 필요.