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
2.9 KiB
2.9 KiB
Сборка 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 добавлено:
- Кэш npm —
RUN --mount=type=cache,target=/root/.npm ... npm install. Повторные сборки меньше ходят в сеть. - Повторы при сбоях —
--fetch-retries=5 --fetch-retry-mintimeout=20000 --fetch-retry-maxtimeout=120000. При обрыве соединения npm повторяет запрос.
Так сборка становится устойчивее к нестабильной сети и к параллельной нагрузке на registry.
Если сборка всё равно падает по сети
- Повторить — часто помогает второй запуск
./run.sh. - Собрать по одному сервису (из каталога
deploy/docker):docker compose -f docker-compose.yml --env-file ../../.env build localization-svc docker compose -f docker-compose.yml --env-file ../../.env build chat-svc # … и т.д. - Проверить сеть — VPN, прокси, нестабильный Wi‑Fi могут вызывать ECONNRESET.
Долго билдится
Сборка 15+ Node-образов с полным npm install в каждом — тяжёлая операция (сотни секунд). Это нормально. С кэшем npm повторные сборки после небольших изменений будут быстрее.