# Результаты тестирования https://gooseek.ru/ **Дата:** 27 февраля 2026, 02:40 МСК ## ❌ Основная проблема **Сайт https://gooseek.ru/ НЕДОСТУПЕН** ``` $ curl https://gooseek.ru/ curl: (7) Failed to connect to gooseek.ru port 443: Couldn't connect to server ``` ## Причины ### 1. Reverse-proxy (Caddy) не запущен Файл `deploy/docker/docker-compose.yml` содержит конфигурацию для Caddy, который должен: - Слушать порты 80/443 - Автоматически получать SSL от Let's Encrypt - Проксировать `gooseek.ru` → `web-svc:3000` **Но этот контейнер НЕ ЗАПУЩЕН.** ### 2. Запущена неправильная конфигурация Сейчас работают контейнеры из `/backend/deploy/docker/docker-compose.yml` (Go backend): ``` $ docker ps NAME STATUS docker-api-gateway-1 Up 21 minutes (unhealthy) docker-chat-svc-1 Up 21 minutes (unhealthy) docker-agent-svc-1 Up 21 minutes (unhealthy) docker-webui-1 Up 20 minutes docker-llm-svc-1 Up 21 minutes (unhealthy) docker-search-svc-1 Up 21 minutes (unhealthy) docker-scraper-svc-1 Up 21 minutes (unhealthy) ... ``` **Все сервисы помечены как "unhealthy"**, кроме базовых (postgres, redis, crawl4ai). ### 3. Chat API не работает #### Тест 1: Прямой доступ к API Gateway ```bash $ curl http://localhost:3015/health curl: (7) Connection refused ``` **Результат:** API Gateway недоступен на localhost, хотя порт должен быть проброшен. #### Тест 2: Через WebUI ```bash $ curl http://localhost:3000 ✅ OK - WebUI возвращает HTML ``` ```bash $ curl -X POST http://localhost:3000/api/chat \ -H "Content-Type: application/json" \ -d '{ "message": { "messageId": "msg-123", "chatId": "chat-123", "content": "Привет, как дела?" }, "optimizationMode": "balanced", "history": [], "locale": "ru" }' Internal Server Error ``` **Результат:** WebUI работает, но chat API возвращает ошибку. **Причина:** WebUI пытается проксировать запрос на `api-gateway:3015` (через Next.js rewrites), но API Gateway недоступен или не отвечает. ## Что работает ✅ 1. **WebUI доступен локально** - `http://localhost:3000` возвращает интерфейс 2. **Docker контейнеры запущены** - все сервисы работают (но unhealthy) 3. **Базовые сервисы здоровы:** - ✅ postgres (healthy) - ✅ redis (healthy) - ✅ crawl4ai (healthy) - ✅ searxng (running) ## Что НЕ работает ❌ 1. **Reverse-proxy (Caddy)** - не запущен 2. **API Gateway** - unhealthy, порт 3015 недоступен 3. **Chat сервис** - unhealthy 4. **Agent сервис** - unhealthy 5. **LLM сервис** - unhealthy 6. **Search сервис** - unhealthy 7. **Все остальные backend Go сервисы** - unhealthy ## Диагностика ### Проверка портов ```bash $ lsof -nP -iTCP -sTCP:LISTEN | grep -E "3000|3015|3005" node 31314 home 16u IPv6 *:3000 (LISTEN) ``` Только порт 3000 (webui) слушает. Порты 3015 (api-gateway) и 3005 (chat-svc) не доступны на хосте. ### Архитектура Текущая конфигурация: ``` [Browser] ↓ ❌ gooseek.ru:443 (Caddy не запущен) ↓ ✅ localhost:3000 (WebUI - Next.js) ↓ (Next.js rewrites /api/* → api-gateway:3015) ❌ api-gateway:3015 (unhealthy, недоступен) ↓ ❌ chat-svc:3005 (unhealthy) ↓ ❌ agent-svc:3018 (unhealthy) ``` ## Рекомендации по исправлению ### 1. Запустить правильный docker-compose ```bash cd /Users/home/Desktop/GooSeek/deploy/docker ./run.sh ``` Это должно запустить полный стек включая reverse-proxy. ### 2. Проверить логи unhealthy контейнеров ```bash docker logs docker-api-gateway-1 --tail 100 docker logs docker-chat-svc-1 --tail 100 docker logs docker-agent-svc-1 --tail 100 docker logs docker-llm-svc-1 --tail 100 ``` Искать ошибки: - Отсутствующие переменные окружения - Проблемы с подключением к зависимостям - Ошибки при старте сервиса ### 3. Проверить переменные окружения Убедиться что `.env` файл существует и содержит: ```bash # LLM API Keys OPENAI_API_KEY=sk-... ANTHROPIC_API_KEY=sk-ant-... GEMINI_API_KEY=... TIMEWEB_API_KEY=... TIMEWEB_AGENT_ACCESS_ID=... TIMEWEB_API_BASE_URL=... # Ghost CMS GHOST_CONTENT_API_KEY=... GHOST_DB_PASSWORD=... GHOST_MAIL_USER=... GHOST_MAIL_PASSWORD=... ``` ### 4. Проверить healthcheck'и Каждый сервис имеет healthcheck. Например, для api-gateway: ```yaml healthcheck: test: ["CMD", "wget", "-q", "--spider", "http://127.0.0.1:3015/health"] interval: 15s timeout: 5s retries: 3 start_period: 10s ``` Если сервис не отвечает на `/health` в течение 10s после старта → unhealthy. Возможные причины unhealthy: - Сервис не стартует из-за ошибки - Сервис стартует медленно (нужно увеличить `start_period`) - Зависимости недоступны (другие сервисы) - Отсутствуют переменные окружения ### 5. Проверить сеть Docker ```bash docker network ls docker network inspect gooseek ``` Убедиться что все контейнеры в одной сети и могут общаться. ### 6. Проверить DNS и порты ```bash # DNS nslookup gooseek.ru # Порты на роутере # Убедиться что 80 и 443 проброшены на ПК ``` ### 7. Перезапустить с нуля ```bash # Остановить все cd /Users/home/Desktop/GooSeek/backend/deploy/docker docker compose down # Запустить правильный compose cd /Users/home/Desktop/GooSeek/deploy/docker docker compose down docker compose up -d # Проверить логи docker compose logs -f reverse-proxy docker compose logs -f web-svc docker compose logs -f api-gateway ``` ## Тестовые скрипты Созданы скрипты для тестирования: 1. **test-chat.sh** - базовая проверка сервисов 2. **test-chat-proper.sh** - тест с правильным payload 3. **test-chat-via-webui.sh** - тест через webui Использование: ```bash cd /Users/home/Desktop/GooSeek ./test-chat-via-webui.sh ``` ## Скриншоты и ошибки ### Консоль браузера (ожидаемые ошибки) Если открыть https://gooseek.ru/ в браузере: - **Network:** ERR_CONNECTION_REFUSED или ERR_NAME_NOT_RESOLVED - **Console:** Нет ошибок (страница не загружается) Если открыть http://localhost:3000/ в браузере: - **Network:** ✅ 200 OK для главной страницы - **Network:** ❌ 500 Internal Server Error для `/api/chat` - **Console:** Ошибка при попытке отправить сообщение ### Пример ошибки в консоли (если бы сайт был доступен) ```javascript POST http://localhost:3000/api/chat 500 (Internal Server Error) Error: Chat request failed: 500 at streamChat (api.ts:43) at sendMessage (useChat.ts:53) ``` ## Итоговый вывод **Сайт https://gooseek.ru/ полностью недоступен.** **Причины:** 1. ❌ Reverse-proxy (Caddy) не запущен → нет HTTPS доступа 2. ❌ API Gateway unhealthy → chat не работает даже локально 3. ❌ Все backend сервисы unhealthy → нет функциональности **Что нужно сделать:** 1. Запустить правильный docker-compose с reverse-proxy 2. Исправить проблемы с unhealthy контейнерами (проверить логи) 3. Убедиться что все переменные окружения настроены 4. Проверить DNS и проброс портов **Приоритет:** КРИТИЧЕСКИЙ - сайт полностью не работает.