Files
crm.clientright.ru/crm_extensions/file_storage/README.md
Fedor 269c7ea216 feat: OnlyOffice Standalone integration with S3 direct URLs
 ЧТО СДЕЛАНО:
- Поднят новый 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)
2025-11-01 01:02:03 +03:00

138 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🔔 Система мониторинга файлов CRM
Автоматический мониторинг изменений файлов в S3 и Nextcloud с публикацией событий в Redis.
## 🎯 Компоненты системы
### 1. Nextcloud Activity Monitor
**Файл:** `nextcloud_activity_monitor.js`
**Назначение:** Мониторинг файлов загруженных через Nextcloud WebUI
**Метод:** Nextcloud Activity API
**Интервал:** 30 секунд
**Запуск:**
```bash
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 &
```
**Управление:**
```bash
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
**Управление:**
```bash
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!`
**Подписка:**
```bash
redis-cli -h 147.45.146.17 -p 6379 -a 'CRM_Redis_Pass_2025_Secure!' \
SUBSCRIBE crm:file:events
```
---
## 📊 Формат событий
### От Nextcloud Activity Monitor:
```json
{
"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:
```json
{
"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 ✅