# Tasks — icq-fix-prosody-network ## 1. Снимок состояния до изменений - [ ] Зафиксировать `docker ps --format '{{.Names}} {{.Networks}}'` (пустая сеть у prosody) - [ ] Зафиксировать `docker network inspect icq_default` (webchat, slidgram — без prosody) - [ ] Снимок контейнера: `docker inspect icq-prosody > /tmp/icq-prosody-inspect-before.json` ## 2. Пересоздание prosody через compose - [ ] `cd /opt/icq && docker compose up -d --force-recreate prosody` - [ ] Дождаться `Up` (status), зафиксировать `docker ps` для prosody ## 3. Проверка сети (внутри compose) - [ ] `docker ps --format '{{.Names}} {{.Networks}}'` → prolody в icq_default - [ ] `docker network inspect icq_default` → контейнер icq-prosody с IP (172.27.0.x) - [ ] `docker exec icq-prosody hostname -i` → непустой адрес - [ ] `docker exec icq-webchat getent hosts icq-prosody` → резолвится (172.27.0.x) - [ ] `docker exec icq-slidgram getent hosts icq-prosody` → резолвится ## 4. Проверка приложения и логов - [ ] `docker logs icq-prosody --tail 100` — нет новых критических ошибок, компонент telegram.nixg.ru аутентифицирован (или в активных) - [ ] `docker logs icq-webchat --tail 50` — страница отдаётся без ошибок - [ ] `docker logs icq-slidgram --tail 50` — без ошибок аутентификации - [ ] `curl -i` внутренний на prosody:5280 (BOSH/WS) → ответ сервера (не refused) - [ ] `docker compose ps` → все 3 сервиса Up, без Exited/Restarting ## 5. Проверка снаружи (chat.nixg.ru) - [ ] `curl -i https://chat.nixg.ru/` → HTTP 200 (страница Converse) - [ ] WS wss://xmpp.nixg.ru → HTTP 101 Switching Protocols - [ ] (если доступен браузер) chat.nixg.ru открывается, форма входа видна, без бесконечной загрузки ## 6. Итог и документация - [ ] Записать результат в /opt/icq/STATUS.md (секция «Что работает» + журнал инцидента) - [ ] Зафиксировать вывод `docker compose ps` и проверок в коммит-сообщение - [ ] Обновить WALKTHROUGH.md при необходимости (грабли: ручной запуск вне compose → потеря сети)