1
0
Fork 0
This commit is contained in:
Arthur K. 2026-03-02 05:11:22 +03:00
commit 3cafa163c4
Signed by: wzray
GPG key ID: B97F30FDC4636357
8 changed files with 144 additions and 0 deletions

88
README.md Normal file
View file

@ -0,0 +1,88 @@
# lazy
`lazy` - репозиторий-обертка для одновременного запуска двух сервисов:
- `ai` - AI Router (OpenAI-compatible API роутер)
- `megapt` - URL-провайдер токена для `codex-responses` (`/chatgpt/token`)
Сервисы запускаются вместе через `compose.yml`.
## Что здесь находится
- `ai/` - git-submodule с AI Router
- `megapt/` - git-submodule с token URL provider
- `compose.yml` - оркестрация обоих сервисов
- `data/` - персистентные данные контейнеров
## Быстрый старт
1. Инициализируйте submodules:
```bash
git submodule update --init --recursive
```
2. Подготовьте конфиги для роутера в `data/ai/`:
- `data/ai/config.yml`
- `data/ai/auth.yml`
- `data/ai/users.yml`
3. Убедитесь, что в `auth.yml` для провайдера `openai` указан URL на `megapt`:
```yaml
providers:
openai:
url: http://megapt/chatgpt/token
```
4. Поднимите оба сервиса:
```bash
docker compose -f compose.yml up -d --build
```
5. Проверьте, что все работает:
```bash
curl http://127.0.0.1:8239/v1/models
curl http://127.0.0.1:8239/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"openai/gpt-5.3-codex","messages":[{"role":"user","content":"hi"}],"stream":false}'
```
## Как это работает
- `megapt` поднимает HTTP endpoint `GET /chatgpt/token`.
- `ai` при обращении к `codex-responses` берет токен по URL из `auth.yml`.
- Пользователь ходит только в `ai`, который маршрутизирует запросы в нужные апстримы.
## Compose сервисы
`compose.yml` поднимает:
- `ai`
- build: `ai`
- порт: `8239:80`
- volume: `./data/ai:/data`
- restart: `unless-stopped`
- `megapt`
- build: `megapt`
- env: `USAGE_REFRESH_THRESHOLD=85`
- volume: `./data/megapt:/data`
## Полезные команды
```bash
docker compose -f compose.yml ps
docker compose -f compose.yml logs -f ai
docker compose -f compose.yml logs -f megapt
docker compose -f compose.yml down
```
## Примечания
- Секреты и токены не коммитьте в git.
- Директория `data/` должна быть персистентной.
- Если меняете код в submodule, не забудьте закоммитить изменения в самом submodule и обновить его ссылку в `lazy`.