# 🔑 Nextcloud Redis - Креды и подключение ## 📋 Основная информация **Контейнер:** `nextcloud-redis` **IP внутри Docker сети:** `172.24.0.4` **Порт:** `6379` **Пароль:** `НЕТ` (не установлен) --- ## 🔌 Варианты подключения ### **ВАРИАНТ 1: Из хоста (если проброшен порт)** **Если пробросить порт наружу:** ```bash # Перезапустить контейнер с проброшенным портом: docker stop nextcloud-redis docker start -p 6378:6379 nextcloud-redis ``` **Тогда подключаться так:** ``` Host: localhost (или 147.45.146.17) Port: 6378 Password: (пусто) ``` --- ### **ВАРИАНТ 2: Через Docker network IP** **Из другого контейнера в той же сети:** ``` Host: 172.24.0.4 Port: 6379 Password: (пусто) ``` --- ### **ВАРИАНТ 3: Из самого хоста (если в той же сети)** **Если хост в той же Docker сети:** ``` Host: 172.24.0.4 Port: 6379 Password: (пусто) ``` --- ## 📡 Каналы Redis для подписки ### **Главный канал для файловых изменений:** ``` notify_storage_update ``` Этот канал публикует события когда: - Файл создан/удалён/переименован - Папка создана/удалена/переименована ### **Другие полезные каналы:** ``` notify_activity # Общая активность notify_notification # Уведомления пользователей notify_pre_auth # Пред-аутентификация ``` --- ## 🧪 Тест подключения ### **Из командной строки:** ```bash # Подключиться к Redis через docker exec: docker exec -it nextcloud-redis redis-cli # Или если порт проброшен: redis-cli -h localhost -p 6378 ``` **Тест подписки на канал:** ```redis SUBSCRIBE notify_storage_update ``` --- ## 📝 Формат сообщений Сообщения в канале `notify_storage_update` имеют формат: ```json { "type": "notify_storage_update", "path": "/admin/files/Documents/Projects/Проект_390983/файл_395695.docx", "user": "admin", "action": "write" | "delete" | "rename", "oldPath": "...", // только для rename "timestamp": "..." } ``` --- ## 🔧 Для n8n подключения **Настройки в n8n:** ``` Host: 172.24.0.4 (или localhost:6378 если проброшен порт) Port: 6379 (или 6378 если проброшен) Password: (оставить пустым) Database: 0 ``` **Триггер:** - Использовать "Redis Trigger" ноду - Channel: `notify_storage_update` --- ## 🚀 Для нашего Node.js listener **Обновить `nextcloud_listener.js`:** ```javascript const redis = new Redis({ host: '172.24.0.4', // или localhost если проброшен порт port: 6379, // или 6378 если проброшен password: '' // пусто }); redis.subscribe('notify_storage_update'); redis.on('message', (channel, message) => { const event = JSON.parse(message); // Обработка события }); ``` --- ## ⚠️ ВАЖНО 1. **Безопасность:** Redis БЕЗ пароля доступен только из Docker сети! 2. **Если нужен доступ снаружи:** Обязательно установи пароль! 3. **Мониторинг:** Следи за нагрузкой на Redis при подписке на каналы --- ## 🔐 Рекомендация: Установить пароль Если планируешь пробрасывать порт наружу: ```bash docker exec nextcloud-redis redis-cli CONFIG SET requirepass "ваш_пароль" ``` И добавить в Nextcloud config.php: ```php 'redis' => array ( 'atype' => 'redis', 'host' => 'nextcloud-redis', 'port' => 6379, 'password' => 'ваш_пароль', ), ```