Files
crm.clientright.ru/ВОССТАНОВЛЕНИЕ_ОПТИМИЗАЦИИ_01_11_2025.md
Fedor 3a1635ec4d feat: OnlyOffice Document Server integration with auto-save
- Добавлен s3Path в callbackUrl для сохранения в оригинальный файл
- Исправлено сохранение: теперь файлы обновляются в S3 автоматически
- Отключена проверка SSL в OnlyOffice (rejectUnauthorized: false)
- Разрешены callback на приватные IP адреса
- Добавлено логирование callback в onlyoffice_callback.log
- Восстановлены оптимальные настройки индексации Nextcloud
- filesystem_check_changes = 0 для S3 External Storage
- Redis event system работает для автоматической индексации

Документация:
- ИСПРАВЛЕНИЕ_СОХРАНЕНИЯ_ONLYOFFICE_01_11_2025.md
- ИСПРАВЛЕНИЕ_SSL_ONLYOFFICE_01_11_2025.md
- ВОССТАНОВЛЕНИЕ_ОПТИМИЗАЦИИ_01_11_2025.md
- ONLYOFFICE_НАСТРОЙКИ.md
- ТЕСТИРОВАНИЕ_СОХРАНЕНИЯ_ONLYOFFICE.md
2025-11-01 10:32:51 +03:00

267 lines
8.1 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.

# Восстановление оптимальных настроек индексации Nextcloud
**Дата:** 1 ноября 2025
**Проблема:** Вчера вечером настройки были изменены, индексация стала медленной
**Решение:** Восстановлены оптимальные настройки
---
## 📊 Что было изменено вчера
### До изменений (оптимально):
```json
{
"filesystem_check_changes": 0, // S3 не сканируется автоматически
"encrypt": false // Шифрование отключено
}
```
### После изменений (медленно):
```json
{
"filesystem_check_changes": 1, // S3 сканируется при каждом доступе ❌
"encrypt": false
}
```
**Последствия:**
- 🐌 Nextcloud сканировал всё S3 хранилище при доступе к папкам
- 📂 24,000+ файлов → медленная загрузка
- ⚡ Как до оптимизации 31 октября
---
## ✅ Что сделано сегодня
### 1. Восстановлена оптимальная настройка S3
**Команда:**
```bash
docker exec -u www-data nextcloud-fresh php occ files_external:option 1 filesystem_check_changes 0
```
**Результат:**
```json
{
"filesystem_check_changes": 0, // ✅ Не сканировать автоматически
"encrypt": false // ✅ Шифрование отключено
}
```
---
### 2. Проверена работа Redis Event System
**Статус сервиса:**
```bash
● nextcloud-cache-updater.service
Active: active (running)
PID: 6697, 6700
```
**Последние обработанные события:**
```
[2025-11-01T04:47:25.960Z] 📥 Событие:
Type: file_created
Source: s3_monitor
Path: clientright/0/1761972417968.pdf
🔄 Обновление кеша Nextcloud...
✅ Кеш обновлён
✅ Родительская папка обновлена
```
**Вывод:** Система работает корректно! ✅
---
## 🎯 Итоговая конфигурация
### Nextcloud config.php:
```php
'filesystem_check_changes' => 1, // Глобально: сканировать при первом доступе
'memcache.distributed' => '\\OC\\Memcache\\Redis',
'memcache.local' => '\\OC\\Memcache\\APCu',
'memcache.locking' => '\\OC\\Memcache\\Redis',
```
### External Storage (S3):
```json
{
"filesystem_check_changes": 0, // ✅ НЕ сканировать S3 автоматически
"encrypt": false, // ✅ Шифрование отключено
"enable_sharing": false,
"previews": true,
"readonly": false
}
```
### Redis Event System:
```javascript
// Сервис: nextcloud-cache-updater.service
// Статус: active (running) ✅
// Канал: crm:file:events
// Container: nextcloud-fresh
```
---
## 🔄 Схема работы индексации
### Для файлов через Nextcloud UI:
```
Пользователь → Nextcloud UI → S3
Nextcloud автоматически обновляет oc_filecache ✅
```
### Для файлов через CRM:
```
CRM → S3 напрямую
CRM публикует событие в Redis (crm:file:events)
nextcloud-cache-updater.js слушает канал
При file_created → occ files:scan --path="/admin/files/crm/..."
Nextcloud обновляет oc_filecache ✅
```
---
## 📈 Статистика
| Параметр | Значение |
|----------|----------|
| **Файлов в кеше** | 31,815 |
| **Storage ID** | 4 (Amazon S3) |
| **Redis CRM** | 147.45.146.17:6379 ✅ |
| **Redis Nextcloud** | nextcloud-redis:6379 ✅ |
| **Сервис cache updater** | active (running) ✅ |
---
## ⚡ Преимущества текущей конфигурации
### ✅ Быстро:
- S3 не сканируется автоматически
- Нет задержек при открытии папок
- Прямой доступ к файлам через кеш
### ✅ Автоматически:
- CRM публикует события в Redis
- Cache updater обновляет кеш по событиям
- Только для конкретных файлов (не вся папка)
### ✅ Надёжно:
- Systemd автозапуск сервиса
- Логирование всех событий
- Graceful shutdown при остановке
---
## 🔧 Команды для проверки
### 1. Проверка настроек S3:
```bash
docker exec -u www-data nextcloud-fresh php occ files_external:list --output=json | python3 -m json.tool
```
### 2. Статус сервиса:
```bash
sudo systemctl status nextcloud-cache-updater
```
### 3. Просмотр логов:
```bash
tail -f /var/www/fastuser/data/www/crm.clientright.ru/crm_extensions/file_storage/nextcloud_cache_updater.log
```
### 4. Размер кеша:
```bash
docker exec nextcloud-db-fresh mariadb -u nextcloud -pnextcloud_password nextcloud \
-e "SELECT COUNT(*) FROM oc_filecache WHERE storage = 4;"
```
### 5. Проверка Redis:
```bash
# CRM Redis
redis-cli -h 147.45.146.17 -p 6379 -a 'CRM_Redis_Pass_2025_Secure!' PING
# Nextcloud Redis
docker exec nextcloud-redis redis-cli -a 'Nextcloud_Redis_Pass_2025!' PING
```
---
## ⚠️ Что НЕ ДЕЛАТЬ
### ❌ НИКОГДА не запускать:
```bash
redis-cli FLUSHALL # Удаляет ВСЕ данные из Redis!
redis-cli FLUSHDB # Удаляет текущую БД Redis!
```
**Почему:**
- Удаляется весь файловый кеш Nextcloud
- Nextcloud начинает пересканировать всё S3 хранилище
- Система становится медленной
- Требуется долгое восстановление
### ❌ НЕ менять вручную:
```bash
# НЕ менять filesystem_check_changes для S3 через UI!
# Только через команду:
docker exec -u www-data nextcloud-fresh php occ files_external:option 1 filesystem_check_changes 0
```
---
## 📝 Файлы системы
### Основные компоненты:
1. **`/var/www/fastuser/data/www/crm.clientright.ru/crm_extensions/file_storage/nextcloud_cache_updater.js`**
- Node.js скрипт для обработки Redis событий
- Обновляет кеш Nextcloud по событиям из CRM
2. **`/etc/systemd/system/nextcloud-cache-updater.service`**
- Systemd сервис для автозапуска
- Перезапуск при сбоях
3. **`/var/www/fastuser/data/www/crm.clientright.ru/crm_extensions/file_storage/nextcloud_cache_updater.log`**
- Лог всех обработанных событий
- Для отладки и мониторинга
---
## 📚 Связанные документы
1. **`NEXTCLOUD_ОПТИМИЗАЦИЯ_31_10_2025.md`** - первоначальная оптимизация
2. **`АВТОМАТИЧЕСКОЕ_ОБНОВЛЕНИЕ_КЕША_NEXTCLOUD.md`** - описание Redis event system
3. **`NEXTCLOUD_ЛАЙФХАКИ_УСКОРЕНИЯ.md`** - 20 способов ускорения
4. **ОГ_СЕССИИ_31_10_2025_ИСПРАВЛЕНИЕ_ОТКРЫТИЯ_ФАЙЛОВ.md`** - исправление открытия файлов
---
## 🎯 Статус
**Время завершения:** 09:30 (01.11.2025)
**Статус:****ВОССТАНОВЛЕНО**
### Что работает:
- ✅ S3 не сканируется автоматически (быстро)
- ✅ Redis event system обрабатывает события
- ✅ Кеш обновляется автоматически
- ✅ 31,815 файлов проиндексировано
-Оба Redis работают
### Производительность:
- ⚡ Быстро как Google Drive
- 🔄 Автоматическая индексация
- 📊 Оптимальное использование ресурсов
---
**Конец отчёта**