3

Как я поднимал Nextcloud в Proxmox и какие проблемы пришлось решить

Полный разбор типичных ошибок, которые возникают у всех, кто ставит Nextcloud в LXC-контейнер

Запуск Nextcloud в Proxmox кажется простой задачей — контейнер, Apache, внешний диск, и всё готово. Но на практике вылезают десятки системных ошибок: то индексы базы отсутствуют, то AppAPI требует демон, то почта не отправляется, то внешнее хранилище недоступно, то интерфейс ругается "операция не разрешена".

Делюсь тем, через что пришлось пройти и как всё было исправлено.

🟦 1. Ошибки целостности кода

❗ Проблема

Nextcloud показывал предупреждение:
«Некоторые файлы не прошли проверку целостности»
В отчёте фигурировало приложение files_mindmap, которого в интерфейсе даже не было.

✔ Решение

Проверка occ app:list показала, что приложение действительно существует, но выключено и повреждено.
Команда:
php occ app:remove files_mindmap
После удаления предупреждение исчезло.

🟦 2. Ошибка AppAPI: «Демон развертывания не установлен»

❗ Проблема

Nextcloud 32 требует AppAPI-демон для развёртывания Ex-Apps (AI-приложений).
В контейнере демона не было, .deb-пакеты недоступны, а проверка AppAPI постоянно висела красным.

✔ Решение

Поскольку Ex-Apps не использовались, а AppAPI в контейнере LXC без Docker не нужен — приложение AppAPI было полностью отключено:
php occ app:disable app_api
Предупреждение исчезло, Nextcloud стал стабильнее, мусор в логах пропал.

🟦 3. Mimetype миграции

❗ Проблема

В разделе «Обзор» появилось:
«Доступны миграции mimetype, выполните occ maintenance:repair --include-expensive»

✔ Решение

Запуск команды:
php occ maintenance:repair --include-expensive
Все миграции прошли успешно, предупреждение ушло.

🟦 4. Отсутствующие индексы в базе данных

❗ Проблема

Предупреждение:
«Не хватает индексов: properties_name_path_user, calobjects_by_uid_index…»
Без них растёт нагрузка на БД.

✔ Решение

Командой:
php occ db:add-missing-indices
Nextcloud автоматически создаёт недостающие индексы.

🟦 5. Client Push не установлен (и не исчезает)

❗ Проблема

Nextcloud писал:
«Client Push не установлен»,
и это предупреждение не пропадало даже после отключения проверки.

✔ Решение

Путаница была в названии приложения.
Правильный модуль называется notify_push, а не client_push.

Команды:
php occ app:install notify_push
php occ app:enable notify_push

После установки — предупреждение исчезло.

🟦 6. Письма не отправляются (AxiosError 400)

❗ Проблема

При тестовой отправке почты:
AxiosError: Request failed with status code 400
Хотя SMTP и логин были указаны правильно.

✔ Реальные причины

  1. В профиле администратора не был задан email.

  2. В config.php отсутствовал параметр mail_smtppassword.

  3. В интерфейсе почты Nextcloud некорректно сохраняет настройки.

✔ Рабочее решение

Настройки SMTP были прописаны вручную в config.php:

'mail_smtpmode' => 'smtp',
'mail_sendmailmode' => 'smtp',
'mail_from_address' => 'user1',
'mail_domain' => 'yandex.ru',
'mail_smtphost' => 'smtp.yandex.ru',
'mail_smtpport' => '465',
'mail_smtpauth' => 1,
'mail_smtpsecure' => 'ssl',
'mail_smtptimeout' => 30,
'mail_smtpname' => 'user1@yandex.ru',
'mail_smtppassword' => 'пароль_приложения',

Test email заработал.

🟦 7. Ошибка фронтенда после обновлений

❗ Проблема

Страница показывала ошибки интерфейса про "контроль доступа", хотя в логах всё было чисто.

✔ Решение

Это был битый JS-кэш Nextcloud.
Исправилось через:
php occ maintenance:repair
systemctl restart apache2
Ctrl + F5 в браузере

🟩 Итог

Удалось полностью привести Nextcloud в рабочее, чистое и стабильное состояние:
✔ Исправлены индексы БД
✔ Удалены повреждённые приложения
✔ Выключен ненужный AppAPI
✔ Установлен и активирован notify_push
✔ Работает SMTP через Яндекс
✔ Устранены ACL-ошибки внешнего диска
✔ Пропали ошибки интерфейса Nextcloud
✔ В логах — 0 ошибок

Система теперь работает правильно, все предупреждения исчезли.