- 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>
1.2 KiB
1.2 KiB
AI Gateway
GPU 서버(RTX 4070 Ti Super)에서 운영하는 중앙 AI 라우팅 서비스. 모든 AI 요청을 하나의 OpenAI 호환 API로 통합.
서비스 구조
| 서비스 | 디렉토리 | 스택 | 포트 |
|---|---|---|---|
| Caddy | caddy/ | Caddy 2 | 80/443 |
| hub-api | hub-api/ | FastAPI + aiosqlite | 8000 |
| 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: localhost:8100 (비동기 job 기반 AI Gateway)
개발
cd hub-api
pip install -r requirements.txt
uvicorn main:app --reload --port 8000
배포
docker compose up -d --build
API
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에서 백엔드 추가/제거. 서비스 재시작 필요.