# ✅ Чек-лист настройки S3 мониторинга ## 📋 Что нужно сделать ### Шаг 1: Получи S3 Credentials ✅ ```bash cd /var/www/fastuser/data/www/crm.clientright.ru/crm_extensions/file_storage bash get_s3_credentials.sh ``` **Сохрани куда-нибудь:** - Access Key ID - Secret Access Key - Bucket name - Endpoint: `https://s3.twcstorage.ru` - Region: `ru-1` --- ### Шаг 2: Импортируй workflow в n8n ⏳ 1. Открой https://n8n.clientright.pro 2. Нажми **"+"** → **Import from File** 3. Выбери файл: `/var/www/.../n8n_s3_monitor_workflow.json` 4. Нажми **Import** --- ### Шаг 3: Настрой S3 Credentials в n8n ⏳ 1. В n8n иди в **Settings** (⚙️) → **Credentials** 2. Нажми **Add Credential** → выбери **AWS** 3. Заполни: - **Name:** `TWC S3` - **Access Key ID:** (из шага 1) - **Secret Access Key:** (из шага 1) - **Region:** `ru-1` 4. **Включи** `Custom Endpoints` ✅ 5. **S3 Endpoint:** `https://s3.twcstorage.ru` 6. **Включи** `Force Path Style` ✅ 7. Нажми **Test** → должно быть ✅ 8. **Save** --- ### Шаг 4: Настрой Redis Credentials в n8n ⏳ 1. **Add Credential** → **Redis** 2. Заполни: - **Name:** `CRM Redis` - **Host:** `147.45.146.17` - **Port:** `6379` - **Password:** `CRM_Redis_Pass_2025_Secure!` - **Database:** `0` 3. **Test** → ✅ 4. **Save** --- ### Шаг 5: Настрой workflow ⏳ 1. Открой импортированный workflow **"S3 File Monitor"** 2. Кликни на ноду **"List S3 Files"** 3. В поле **Credential for AWS** выбери `TWC S3` 4. В поле **Bucket Name:** - Вариант 1: Впиши имя bucket из шага 1 - Вариант 2: Оставь `{{$env.S3_BUCKET}}` и настрой env variable 5. В поле **Prefix** (опционально): - Оставь пустым для мониторинга всего bucket - Или укажи папку, например: `nextcloud/data/admin/files/` 6. Кликни на ноду **"Publish to Redis"** 7. Выбери credential: `CRM Redis` 8. **Save** workflow --- ### Шаг 6: Активируй workflow ⏳ 1. Переключи тумблер **Active** в ON (вверху справа) 2. Workflow начнёт работать! **Первый запуск:** - Создаст начальное состояние файлов - **НЕ** сгенерирует события (это нормально!) **Последующие запуски (каждые 30 сек):** - Будут сравнивать с предыдущим состоянием - Генерировать события при изменениях --- ### Шаг 7: Протестируй! 🧪 #### Тест 1: Загрузи файл в S3 Через **S3 Browser** или **aws-cli**: ```bash echo "test content" > /tmp/test-file.txt aws s3 cp /tmp/test-file.txt s3://ИМЯ-BUCKET/test-file.txt \ --endpoint-url https://s3.twcstorage.ru ``` #### Тест 2: Подожди 30 секунд ⏱️ Время для следующего polling цикла... #### Тест 3: Проверь Redis ```bash redis-cli -h 147.45.146.17 -p 6379 -a 'CRM_Redis_Pass_2025_Secure!' \ --csv SUBSCRIBE crm:file:events ``` Должно прийти: ``` "subscribe","crm:file:events",1 "message","crm:file:events","{\"type\":\"file_created\",\"source\":\"s3_monitor\",...}" ``` #### Тест 4: Проверь n8n executions 1. В n8n → **S3 File Monitor** workflow 2. Нажми **Executions** (внизу) 3. Посмотри последние запуски 4. Должны быть ✅ зелёные --- ### Шаг 8: Настрой обработчик событий (опционально) ⏳ Создай новый workflow в n8n для обработки событий: 1. **Trigger:** Redis (Subscribe) - Channel: `crm:file:events` - Credential: `CRM Redis` 2. **Filter** по типу файла: ```javascript // Обрабатываем только PDF return $json.filename.endsWith('.pdf'); ``` 3. **Твоя логика:** - Download from S3 - Process - Upload to CRM - Notify user --- ## 🔧 Troubleshooting ### ❌ Workflow не запускается - Проверь что он **Active** (зелёная галочка) - Проверь Executions → есть ли ошибки? ### ❌ S3 Connection failed - Проверь credentials (Access Key, Secret) - Проверь что включен `Force Path Style` ✅ - Проверь endpoint: `https://s3.twcstorage.ru` ### ❌ Redis Connection failed - Проверь firewall: порт 6379 открыт? - Проверь пароль: `CRM_Redis_Pass_2025_Secure!` - Попробуй из терминала: ```bash redis-cli -h 147.45.146.17 -p 6379 -a 'CRM_Redis_Pass_2025_Secure!' PING ``` ### ❌ События не приходят - Убедись что файл добавлен **в правильный bucket** - Убедись что файл **в нужной папке** (если указан Prefix) - Подожди 30 секунд для polling цикла - Проверь Static Data в workflow (сохраняется ли состояние?) ### ⚠️ Слишком много событий - Уменьши область мониторинга через `Prefix` - Увеличь интервал до 60-120 секунд --- ## 📊 Финальная проверка После всех шагов у тебя должно быть: - ✅ S3 credentials сохранены в n8n - ✅ Redis credentials сохранены в n8n - ✅ Workflow "S3 File Monitor" импортирован - ✅ Workflow активирован (Active = ON) - ✅ Тестовый файл загружен в S3 - ✅ Событие пришло в Redis канал `crm:file:events` - ✅ Execution в n8n показывает ✅ success --- ## 🎉 Готово! Теперь **любые** изменения в твоём S3 bucket будут автоматически: 1. Обнаруживаться (каждые 30 сек) 2. Публиковаться в Redis (`crm:file:events`) 3. Доступны для обработки в n8n, CRM, и других сервисах --- ## 📚 Дополнительные файлы - `S3_MONITORING_GUIDE.md` - полное руководство - `ARCHITECTURE.md` - схема архитектуры - `n8n_s3_monitor_workflow.json` - workflow для импорта - `get_s3_credentials.sh` - скрипт для получения credentials --- ## 🆘 Нужна помощь? Если что-то не работает: 1. Проверь логи n8n executions 2. Проверь Redis подключение 3. Проверь S3 credentials 4. Перечитай `S3_MONITORING_GUIDE.md` **Удачи!** 🚀