Работа с Nextcloud

Обновлено 29 апреля 2020

Работа с Nextcloud

Введение

В этой статье собраны материалы по особенностям работы с Nextcloud, а также по интеграции с облачным сервисом сторонних приложений. Для установки Nextcloud воспользуйтесь следующим руководством.

Исправления

Обновление фотографий в контактах

Уже давно присутствует один неприятный баг, связанный с невозможностью заменить загруженную фотографию контакта. Когда вы кликаете на загруженной ранее фотографии, вместо формы выбора новой открывается загруженное ранее фото.

Эта ошибка исправляется следующим образом:

  1. Зайдите в Nextcloud администратором, перейдите в Меню -> Приложения и установите приложение "Custom CSS".
  2. Перейдите в Меню -> Настройки -> Темы оформления. В форму "Custom CSS" впишите:
    .contact-header-avatar__photo + .contact-header-avatar__options {
        z-index: 1;
    }
    
    .contact-header-avatar__photo + .contact-header-avatar__options {
        opacity: 0;
    }
    

    После этого клик по фотографии будет вызывать всплывающее меню загрузки нового изображения:

Обновление фото в контактах

Оптимизация Nextcloud

Использование фоновой обработки заданий

Для улучшения производительности все операции по обработке данных следует выполнять в фоне по расписанию. По умолчанию Nextcloud предлагает использовать запуск cron.php каждые 15 минут. Опция настройки находится в меню Настройки -> Администрирование -> Основные параметры. В разделе Фоновые задания выберите Cron:

Фоновые задания Nextcloud

После этого создайте сценарий запуска фонового процесса каждые 15 минут:

/etc/cron.d/nextcloud

# Global variables
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
HOME=/

#Nextcloud
*/15 * * * * nginx php -f /var/calculate/www/nextcloud/htdocs/cron.php

Файлы

Превью файлов

Типы файлов

По аналогии с файловыми менеджерами Nextcloud может создавать миниатюры с предпросмотром содержимого файлов для картинок, видео и аудиофайлов, текстовых документов и так далее. Более подробно об этом можно прочитать здесь. Для добавления отображения превью видеофайлов отредактируйте файл настроек проекта, включив отображение превью для всех типов фотографий и видеофайлов:

/var/calculate/www/nextcloud/htdocs/config/config.php

'enabledPreviewProviders' => array (
    'OC\\Preview\\Movie',
    'OC\\Preview\\Image'
),

Для улучшения производительности и совместимости при работе с изображениями установите imagemagick для PHP:

emerge -a dev-php/pecl-imagick

Для извлечения превью из видеофайлов установите пакет ffmpeg:

emerge -a media-video/ffmpeg

Размер

Разумно ограничить максимальный размер превью, иначе в кэш будут попадать все ваши изображения в оригинальном размере. Для этого добавьте строчку:

/var/calculate/www/nextcloud/htdocs/config/config.php

'preview_max_x' => 512,
'preview_max_y' => 512,

Обновление кэша

Для ускорения доступа к директориям с файлами превью поддерживайте кэш в актуальном состоянии при помощи Nextcloud-приложения Preview Generator, которое можно установить из раздела "Мультимедиа".

После установки выполните:

su nginx -s /bin/bash

cd /var/calculate/www/nextcloud/htdocs

php occ preview:generate-all

При наличии большого количества файлов с изображениями в одной директории вам может понадобиться увеличить размер оперативной памяти, выделяемой для выполнения PHP. Для этого отредактируйте значение переменной memory_limit:

/etc/php/cli-php7.1/php.ini

; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 512M

Фотографии

Имена файлов

По умолчанию Nextcloud клиент выгружает отснятые в телефоне фотографии в облако в одну папку. При этом имена у фотографий используются вида IMG_20180806_124329_1.jpg, где "20180806" - год, месяц и день, "124329" - часы, минуты и секунды, "1" - вторая по счёту фотография, сделанная в ту же секунду.

Импортируемые из соцсетей фотографии могут иметь случайную последовательность символов в имени файла - что-то типа "MY0bLxnxTaM.jpg". Если это фотография, а не рисунок или скриншот, вы можете извлечь время снимка из EXIF-информации файла. Сделать это можно при помощи утилиты exiv2, входящей в пакет media-gfx/exiv2:

exiv2 -F -r'IMG_%Y%m%d_%H%M%S' rename -- *.jpg

Чтобы посмотреть, все ли фотографии обработаны должным образом, вы можете указать другой путь сохранения переименованных:

mkdir new; exiv2 -F -r'new/IMG_%Y%m%d_%H%M%S' rename -- *.jpg

В итоге в исходной директории могут остаться скриншоты и обработанные фотографии, которые вы можете легко отделить от оригинальных снимков.

У такого именования файлов есть несколько плюсов:

  1. При объединении фотографий из разных фотоаппаратов или карт памяти вы, скорее всего, никогда не столкнётесь с двумя одинаковыми именами, а значит, сможете после обработки спокойно переносить файлы в одну директорию.
  2. Фотографии всегда будут расположены в хронологическом порядке. Вы можете помещать в одно место фотографии из разных источников.
  3. При объединении фотографий, скачанных из облака в урезанном качестве, и оригиналов имена файлов будут совпадать. Благодаря этому после объединения в одной директории вы не получите дубли, а снимки с уменьшенным разрешением будет корректно замещены оригиналами.

Если расширение имён файлов было написано заглавными буквами, вы можете перевести его в нижний регистр следующей командой:

rename .JPG .jpg *.JPG

Время создания файлов

Во время копирования фотографий время изменения файла может измениться. Это неудобно, поскольку теряется инфорамация о времени снимка. Восстановить время создания файла можно по EXIF-информации при помощи упомянутой ранее утилиты exiv2. Для восстановления перейдите в директорию с фотографиями и выполните:

exiv2 -T *.jpg

Переиндексируйте базу, чтобы изменения вступили в силу.

Просмотрщик под Android

Для доступа к фотографиям из Nextcloud вы можете установить приложение Галерея QuickPic.

Музыка

Плеер под Android

Для проигрывания музыки из Nextcloud вы можете воспользоваться Soumi: Network Music Player. Плейер выгодно отличается тем, что умеет кэшировать аудио файлы из плейлиста.

Чтобы подключиться к облаку, перейдите на вкладку Libraries, кликните на "+", выберите Internet, а затем введите настройки подключения к своему облаку:

Connect to Nextcloud

Заметка

Адрес сервера следует вводить без "https://" с путем к webdav. Пример: cloud.example.org/remote.php/webdav

Окно воспроизведения:

Soumi: Network Music Player

Пароли к сайтам

Для хранения паролей в Nextcloud существует приложение Passman. Оно полезно тем, что создает шифрованное хранилище внутри вашего облака. Таких хранилищ может быть несколько. Для взаимодействия с хранилищем паролей существуют расширения для браузеров Firefox (включая мобильную версию) и Chrome. Подключившись к хранилищу в облаке, вы создаёте пароль, при помощи которого будут зашифрованы данные подключения:

Passman

Passman сам находит поля авторизации на сайте и добавляет к ним своё изображение. При наличии сохранённого пароля данные будут подставлены в поля - см. скриншот:

Авторизация

Закладки браузера

Для работы с закладками в Nextcloud существует одноимённое приложение Закладки. Вместо привычной древовидной структуры для поиска закладок используются тэги. Для доступа к вашим закладкам вы можете установить расширение FreedomMarks для браузеров Firefox и Chrome:

FreedomMarks

Под Android существует также приложение Nextcloud Bookmarks для доступа к закладкам. В нём тоже используются тэги.

Если вы сторонник классического подхода к хранению закладок, то можете воспользоваться расширением floccus. Данное расширение добавляет свой тэг к каждой закладке с указанием вложенности.

GPS навигация

Для работы с GPS навигацией существует приложение PhoneTrack, позволяющее как производить импортированные маршрутов из файлов с расширением .gpx, так и отслеживать положение устройств в режиме реального времени.

Настройка приложения PhoneTrack

Все устройства, с которых необходимо получать данные, возможно объединить в группы (сессии). Создаётся сессия, после чего в ней необходимо произвести резервирование устройства.

PhoneTrack

На скрине видно, что создана группа Family, где зарезервировано 3 устройства, имеющие имя и маркер.

Перейдя на следующую закладку, мы увидим список URL-адресов, где перечислены все возможные варианты для передачи данных в режиме реального времени. Рядом с каждым вариантом стоит восклицательный знак, нажав на который мы получим ссылку. Её необходимо указать в программе на устройстве, подставив маркер устройства.

PhoneTrack

Ниже рассмотрим вариант настройки на примере программы GPS Logger.

Настройка GPS логера

Программа GPS Logger позволяет сохранять маршруты в файл .gpx и передавать их как в ручном режиме, так и автоматически. Присутствует возможность передачи координат в режиме реального времени.

Для передачи в режиме реального времени нам необходимо перейти по пути Настройки записи лога - Сохранять журналы по указанному пользователем URL-адресу и внести URL-адрес, указав вместо yourname маркер необходимого нам устройства.

GPS Logger

Для проверки необходимо выполнить HTTP Test и проверить логи.

GPS Logger

GPS Logger

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

Данные записываются в используемую базу данных, так что устройство сразу появится в списке в виде цветного кружочка с первой буквой имени устройства.

Заметка

В случае если на устройстве нет Интернета, координаты будут отправлены после подключения к нему.

Видео-аудио конференция

Nextcloud позволяет проводить чат, аудио-видео конференций через WebRTC. Для этого понадобится приложение Talk. Если вы планируете проводить конференции, где участники находятся в разных сетях, а тем более за симметричным NAT - вам понадобится TURN/STUN сервер.

Настройка TURN сервера

Настройте TURN сервер turn.example.org согласно руководству.

Теперь откройте настройки Talk и укажите STUN сервер turn.example.org:443, TURN сервер turn.example.org и ключ 4b85833c7fdf06130bd7398ac9af558b, указанный в параметре static-auth-secret, настройки TURN сервера.

Настройка TURN в Nextcloud

Работа с офисными документами

После установки NextCloud вы сможете просматривать и работать только с документами формата txt. Чтобы работать со всеми видами офисных документов, можно использовать Collabora Online.

Collabora Online

Установите и настройте Collabora Online согласно руководству.

Администрирование

Переиндексация базы

При копировании/переименовании файлов, изменении прав доступа или редактировании файлов напрямую на сервере, минуя Web-интерфейс Nextcloud или WebDAV, следует выполнить обновление базы данных Nextcloud. Для этого выполните следующее.

В случае прямого доступа к файлам Nextcloud (не через WebDAV или веб-интерфейс) не забывайте пересканировать файлы. Для этого выполните:

su nginx -s /bin/bash

cd /var/calculate/www/nextcloud/htdocs

php occ files:scan user

Вместо user подставьте логин пользователя.

Заключение

Заметка

Подписывайтесь на нашу группу @nextcloud@calculate.social в Федеративной сети Mastodon