Files
gooseek/deploy/docker/BUILD.md
home 06fe57c765 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
2026-02-27 04:15:32 +03:00

2.9 KiB
Raw Blame History

Сборка 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. Кэш npmRUN --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):
    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 повторные сборки после небольших изменений будут быстрее.