# ICQ XMPP — Полезные команды (шпаргалка) > Все docker-команды выполняются из /opt/icq. Сервер: Prosody 0.11.9 в контейнере icq-prosody. ## Проект / статус ```bash cd /opt/icq && docker compose ps # статус всех контейнеров docker compose ps -a # включая остановленные docker compose logs --tail 50 prosody # логи сервиса (или slidgram/webchat) ``` ## Пользователи (регистрация ОТКЛЮЧЕНА — только через prosodyctl) ```bash # Создать пользователя (логин@nixg.ru): docker exec icq-prosody prosodyctl register ЛОГИН nixg.ru 'ПАРОЛЬ' # Пример: docker exec icq-prosody prosodyctl register ivan nixg.ru 'secret123' # Изменить пароль (та же команда — перезапишет): docker exec icq-prosody prosodyctl register ivan nixg.ru 'НОВЫЙПАРОЛЬ' # Удалить пользователя: docker exec icq-prosody prosodyctl unregister ЛОГИН nixg.ru # Список аккаунтов (лежат в data/nixg.ru/accounts/*.dat на хосте): ls /opt/icq/data/nixg%2eru/accounts/ ``` ⚠️ In-band self-registration ВЫКЛЮЧЕНА (allow_registration=false, модуль register не загружен). Единственный способ создать аккаунт — `prosodyctl register`. Пользователи НЕ могут сами регистрироваться. ## Сервисы (Prosody, мост, веб-чат) ```bash # Рестарт сервиса: docker compose restart prosody # или slidgram / webchat # Пересоздать контейнер с новыми env (после правки docker-compose.yml): docker compose up -d --force-recreate --no-deps slidgram # Полный перезапуск проекта: docker compose up -d # Остановить/запустить: docker compose stop && docker compose start # Проверка конфига Prosody: docker exec icq-prosody prosodyctl check config # Просмотр активных портов/модулей: docker logs icq-prosody --tail 100 # Валидация сертификатов/домена: docker exec icq-prosody prosodyctl check certs docker exec icq-prosody prosodyctl check dns ``` ## Мост Telegram (Slidge/slidgram) ```bash docker logs icq-slidgram --since 10m | grep -iE 'register|login|session|avatar|error' # Регистрация TG-аккаунта: из XMPP-клиента команда "register" на telegram.nixg.ru # (api_id/api_hash уже в конфиге; см. WALKTHROUGH.md §12) # Перезапуск моста после правки env: docker compose up -d --force-recreate --no-deps slidgram ``` ## Просмотр логов / диагностика ```bash docker logs icq-prosody --tail 50 docker logs icq-webchat --since 5m docker logs icq-slidgram --since 10m | grep -iE 'error|register|avatar' # Прямые файлы логов: tail -50 /opt/icq/logs/prosody.log tail -30 /opt/icq/logs/prosody.err ``` ## Внешняя проверка ```bash curl -sS https://upload.nixg.ru/upload # HTTP Upload (ожидается 403/404 — сервис жив) curl -sI https://chat.nixg.ru/ # веб-чат curl -sI https://xmpp.nixg.ru/ # WS endpoint (Caddy) ``` ## Проверка входа пользователя по WebSocket (slixmpp, ssl не проверяется) ```python bot = slixmpp.ClientXMPP('admin@nixg.ru','ПАРОЛЬ') import ssl; ctx = ssl.create_default_context(); ctx.check_hostname=False; ctx.verify_mode=ssl.CERT_NONE bot.ssl_context = ctx bot.connect(('wss://xmpp.nixg.ru/xmpp-websocket',)) ``` ## Проверка веб-чата headless (UI отрендерен) ```bash chromium --headless --no-sandbox --disable-gpu --virtual-time-budget=15000 --dump-dom https://chat.nixg.ru/ | grep converse-login-form ```