Files
crm.clientright.ru/crm_extensions/file_storage
Fedor 840acca51a feat(documents): дедупликация documents_meta и исправление field_label
- Исправлен N8N_CODE_PROCESS_UPLOADED_FILES_FIXED.js: использовать uploads_field_labels[0] вместо [grp]
- Создан SQL_CLAIMSAVE_FIXED_NEW_FLOW_DEDUP.sql с дедупликацией documents_meta
- Создан SQL_CLEANUP_DOCUMENTS_META_DUPLICATES.sql для очистки существующих дубликатов
- Создан полный уникальный индекс idx_document_texts_hash_unique на document_texts(file_hash)
- Добавлен SESSION_LOG_2025-11-28_documents_dedup.md с описанием всех изменений

Fixes:
- field_label теперь корректно отображает 'Переписка' вместо 'group-2'
- documents_meta не накапливает дубликаты при повторных сохранениях
- ON CONFLICT (file_hash) теперь работает для document_texts
2025-11-28 18:16:53 +03:00
..
2025-10-24 19:59:28 +03:00

🔔 Система мониторинга файлов CRM

Автоматический мониторинг изменений файлов в S3 и Nextcloud с публикацией событий в Redis.

🎯 Компоненты системы

1. Nextcloud Activity Monitor

Файл: nextcloud_activity_monitor.js
Назначение: Мониторинг файлов загруженных через Nextcloud WebUI
Метод: Nextcloud Activity API
Интервал: 30 секунд

Запуск:

cd /var/www/fastuser/data/www/crm.clientright.ru/crm_extensions/file_storage
nohup /usr/bin/nodejs nextcloud_activity_monitor.js > nextcloud_activity.log 2>&1 &

Управление:

ps aux | grep nextcloud_activity_monitor    # Статус
tail -f nextcloud_activity.log               # Логи
pkill -f nextcloud_activity_monitor.js       # Остановить

2. S3 Monitor (Docker)

Контейнер: s3-monitor
Назначение: Мониторинг файлов загруженных напрямую в S3
Bucket: f9825c87-4e3558f6-f9b6-405c-ad3d-d1535c49b61c
Интервал: 30 секунд
Файлов: ~24,500

Управление:

docker ps | grep s3-monitor              # Статус
docker logs s3-monitor -f                # Логи
docker stop s3-monitor                   # Остановить
docker start s3-monitor                  # Запустить
docker restart s3-monitor                # Перезапустить

3. Redis (центральная шина событий)

Адрес: 147.45.146.17:6379
Канал: crm:file:events
Password: CRM_Redis_Pass_2025_Secure!

Подписка:

redis-cli -h 147.45.146.17 -p 6379 -a 'CRM_Redis_Pass_2025_Secure!' \
  SUBSCRIBE crm:file:events

📊 Формат событий

От Nextcloud Activity Monitor:

{
  "type": "file_created",
  "source": "nextcloud_activity",
  "timestamp": "2025-10-30T12:53:40+00:00",
  "file_id": 73460,
  "path": "/experimental_report.xlsx",
  "filename": "experimental_report.xlsx",
  "user": "admin",
  "action": "created"
}

От S3 Monitor:

{
  "type": "file_created",
  "source": "s3_monitor",
  "timestamp": "2025-10-30T20:49:31.593Z",
  "path": "crm2/CRM_Active_Files/Documents/file.xlsx",
  "filename": "file.xlsx",
  "size": 8224,
  "etag": "7004954627252c9d0a7e6417f8325d07",
  "last_modified": "2025-10-30T20:49:14.132Z",
  "action": "created"
}

🔧 Credentials

Nextcloud API:

URL: https://office.clientright.ru:8443
User: admin
App Password: tGHKS-3cC9m-7Hggb-65Awk-zxWQE

S3 (TWC Storage):

Endpoint: https://s3.twcstorage.ru
Region: ru-1
Access Key: 2OMAK5ZNM900TAXM16J7
Secret Key: f4ADllb5VZBAt2HdsyB8WcwVEU7U74MwFCa1DARG
Bucket: f9825c87-4e3558f6-f9b6-405c-ad3d-d1535c49b61c

📚 Дополнительные документы

  • PRODUCTION_READY.md - полное описание production конфигурации
  • ARCHITECTURE.md - схема архитектуры системы
  • S3_MONITORING_GUIDE.md - руководство по S3 мониторингу
  • NEXTCLOUD_API_OVERVIEW.md - обзор Nextcloud API
  • SETUP_CHECKLIST.md - чек-лист настройки

🚀 Для разработчиков

n8n Workflows (готовые для импорта):

  • n8n_s3_event_processor.json - обработчик событий из Redis
  • n8n_nextcloud_activity_monitor.json - альтернатива через n8n
  • n8n_s3_monitor_workflow.json - альтернатива S3 Monitor через n8n

Утилиты:

  • get_s3_credentials.sh - получение S3 credentials

Дата создания: 30 октября 2025
Версия: 1.0
Статус: Production Ready