1
0
Fork 0
lazy/README.md
2026-03-02 05:11:22 +03:00

88 lines
2.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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`.