✅ ЧТО СДЕЛАНО: - Поднят новый standalone OnlyOffice Document Server (порт 8083) - Настроен Nginx для доступа через office.clientright.ru:9443 - Создан open_file_v3_standalone.php для работы с новым OnlyOffice - Реализована поддержка прямых S3 URL (bucket публичный) - Добавлен s3_proxy.php с поддержкой Range requests - Создан onlyoffice_callback.php для сохранения (базовая версия) - Файлы успешно открываются и загружаются! ⚠️ TODO (на завтра): - Доработать onlyoffice_callback.php для сохранения обратно в ОРИГИНАЛЬНЫЙ путь в S3 - Добавить Redis маппинг documentKey → S3 path - Обновить CRM JS для использования open_file_v3_standalone.php - Протестировать сохранение файлов - Удалить тестовые файлы 📊 РЕЗУЛЬТАТ: - OnlyOffice Standalone РАБОТАЕТ! ✅ - Файлы открываются напрямую из S3 ✅ - Редактор загружается БЫСТРО ✅ - Автосохранение настроено ✅ (но нужна доработка callback)
🔔 Система мониторинга файлов 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 APISETUP_CHECKLIST.md- чек-лист настройки
🚀 Для разработчиков
n8n Workflows (готовые для импорта):
n8n_s3_event_processor.json- обработчик событий из Redisn8n_nextcloud_activity_monitor.json- альтернатива через n8nn8n_s3_monitor_workflow.json- альтернатива S3 Monitor через n8n
Утилиты:
get_s3_credentials.sh- получение S3 credentials
Дата создания: 30 октября 2025
Версия: 1.0
Статус: Production Ready ✅