- Добавлен 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
267 lines
8.1 KiB
Markdown
267 lines
8.1 KiB
Markdown
# Восстановление оптимальных настроек индексации 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
|
||
- 🔄 Автоматическая индексация
|
||
- 📊 Оптимальное использование ресурсов
|
||
|
||
---
|
||
|
||
**Конец отчёта**
|
||
|