feat: Go backend, enhanced search, new widgets, Docker deploy

Major changes:
- Add Go backend (backend/) with microservices architecture
- Enhanced master-agents-svc: reranker, content-classifier, stealth-crawler,
  proxy-manager, media-search, fastClassifier, language detection
- New web-svc widgets: KnowledgeCard, ProductCard, ProfileCard, VideoCard,
  UnifiedCard, CardGallery, InlineImageGallery, SourcesPanel, RelatedQuestions
- Improved discover-svc with discover-db integration
- Docker deployment improvements (Caddyfile, vendor.sh, BUILD.md)
- Library-svc: project_id schema migration
- Remove deprecated finance-svc and travel-svc
- Localization improvements across services

Made-with: Cursor
This commit is contained in:
home
2026-02-27 04:15:32 +03:00
parent 328d968f3f
commit 06fe57c765
285 changed files with 53132 additions and 1871 deletions

34
deploy/docker/BUILD.md Normal file
View File

@@ -0,0 +1,34 @@
# Сборка Docker (GooSeek)
## Почему в логе «дубли» и много строк подряд
**Это не дубли.** Собираются **15+ образов параллельно** (cache-worker, chat-svc, api-gateway, web-svc, search-svc, localization-svc, travel-svc, caddy, auth-svc, library-svc, master-agents-svc, projects-svc, llm-svc, discover-svc, geo-device-svc и др.). У каждого свой шаг `RUN npm install`, и вывод в терминале **перемешан** — поэтому кажется, что одна и та же строка повторяется. На самом деле это разные сервисы.
## Ресурсы: хватает ли?
- **Ошибка в логе** — `ECONNRESET` при `npm install`: «Client network socket disconnected before secure TLS connection was established». Это **сетевой сбой** (или лимиты при большом числе одновременных запросов к registry), а не нехватка RAM/CPU.
- То есть **ресурсов машины обычно хватает**; проблема в том, что при параллельной сборке много образов одновременно качают пакеты с registry.npmjs.org, и часть соединений обрывается.
## Что сделано для устойчивости
Во всех сервисных Dockerfile добавлено:
1. **Кэш npm**`RUN --mount=type=cache,target=/root/.npm ... npm install`. Повторные сборки меньше ходят в сеть.
2. **Повторы при сбоях**`--fetch-retries=5 --fetch-retry-mintimeout=20000 --fetch-retry-maxtimeout=120000`. При обрыве соединения npm повторяет запрос.
Так сборка становится устойчивее к нестабильной сети и к параллельной нагрузке на registry.
## Если сборка всё равно падает по сети
1. **Повторить** — часто помогает второй запуск `./run.sh`.
2. **Собрать по одному сервису** (из каталога `deploy/docker`):
```bash
docker compose -f docker-compose.yml --env-file ../../.env build localization-svc
docker compose -f docker-compose.yml --env-file ../../.env build chat-svc
# … и т.д.
```
3. **Проверить сеть** — VPN, прокси, нестабильный WiFi могут вызывать ECONNRESET.
## Долго билдится
Сборка 15+ Node-образов с полным `npm install` в каждом — тяжёлая операция (сотни секунд). Это нормально. С кэшем npm повторные сборки после небольших изменений будут быстрее.