Nextcloud – больше чем просто замена для гуглдиска

Сегодня поговорим о такой замечательной вещи как nextcloud и его широких возможностях. Nextcloud появился в 2016 году, когда основатель ownCloud решил форкнуть проект, вероятно из-за сомнений связанных с некоторыми аспектами коммерческого подхода стоящей за ownCloud компании. Nextcloud, как и родительский проект выпускается под копилефтной лицензией AGPL-3.0, в написании кода поучаствовали уже более пятисот людей (я ранее писал о тысяче – к сожалению, не помню откуда цифра; вероятно, ошибся), что само по себе впечатляет. Итак, nextcloud в самом базовом виде – это программа для хранения и синхронизации файлов, которое можно установить на собственном сервере (или даже одноплатном компьютере) с GNU/Linux, что делает его альтернативой для dropbox и google drive. Устанавливается он в несколько шагов: сначала с оф сайта нужно скачать и распаковать архив, затем сделать веб-сервер владельцем директории с распакованными файлами, настроить виртуальный хост, создать базу данных с пользователем и наконец вбить адрес виртуального хоста в браузере и заполнить все необходимые поля (ну и конечно желательно настроить SSL). И все, наслаждаемся своим персональным хранилищем.

Но конечно возможности nextcloud гораздо шире. Пара слов о том, что можно сделать без прикручивания плагинов и дополнительных настроек. Можно заливать (в т.ч. через drag-n-drop) файлы и папки. Их же можно качать и расшаривать. Причем шары можно (и желательно) закрывать паролем. Можно создавать пользователей. Можно проигрывать аудио-видео файлы. Также из веб-интерфейса можно редактировать текстовые файлики. Наконец, сервера nextcloud можно связать в федерацию.

Теперь поговорим о том, какое море возможностей открывают для нас плагины. Их довольно много – некоторые просто улучшают эргономику некстклауда – например, контекстное меню для файлов и папок; SQL и LDAP-бекенды; возможность пользователь_кам создавать “круги” и расшаривать им файлы. Но есть также и приложения, которые добавляют новые функции.

Имхо одно из самых важных – интеграция Collabora Online Office. По сути речь идет об онлайн-версии родного для большинства линуксоид_ок Libre Office, с несколько расширенным функционалом. Собственно, название говорит само за себя – пользовател_и и гости могут совместно редактировать документ, оставлять комментарии, просматривать историю правок. Минус – Collabora может серьезно загрузить систему. Еще один минус – разраб_ки рекомендуют использовать docker-образ, что не очень эффективно, когда людей на сервере много. Можно установить пакет без докера, но для debian и производных он кривой – нужно редактировать файл службы, прописывать корректные пути.  В целом мне кажется, что некстклауд+коллабора – это полноценная замена гуглдокам.

Скриншот Collabora в Nextcloud

Есть несколько почтовых веб-клиентов. “Официальный” сделан на базе клиента horde. Я не особо их тестировал, потому не могу сравнить удобство веб-почты на некстклауде в сравнении с гугловской – особенно в том, что касается читабельности цепочек писем, но сама возможность настроить почтовый сервер и использовать некстклауд в качестве фронтенда радует. Есть, однако, нюансы. До 14-й версии пользовательские пароли хэшируются алгоритмом bcrypt, который не поддерживается линуксом, потому если хочется, чтобы dovecot тянул имена аккаунтов и пароли из базы некстклауда нужно потанцевать с бубном или использовать SQL/LDAP-бекенд. Но в последней версии по умолчанию используется более надежный алгоритм argon2 (если используемая версия php >=7.2), который как раз поддерживается, потому с этим проблем быть не должно.

Чаты и звонки. Реализация есть аж в двух формах. Во-первых, старый добрый xmpp – веб-клиент поставляется со встроенным сервером; однако сервер минималистичен и дает возможность чатиться только в рамках веб-интерфейса, без использования сторонних клиентов – что плохо. Но можно установить полноценный джаббер-сервер и использовать веб-интерфейс в качестве фронтенда. Для этого придется немножко повозиться с настройками и настроить srv-записи в DNS, иначе будут проблемы со связностью. Второй вариант – Nextcloud Talk, с настройкой которого совсем не нужно возиться и для которого есть мобильные клиенты. Это форк проекта spreed. Он ориентирован в первую очередь на видео и аудиозвонки, но текстовый чат тоже есть, в том числе групповой, в том числе публичный с возможностью запаролить. Все шифруется. Правда есть несколько маленьких минусов и один огромный. Ну ладно, что нет форматирования текстов, ну ок, что нет смайликов, ну еще можно выдержать отсутствие возможности загружать сторонние файлы в разговор. Плохо, что нельзя удалять отдельные сообщения. Но вот что совсем жизнь портит – это когда открываешь диалог в котором тонны сообщений и он бесконечно долго грузится, потому что загружаются ВСЕ сообщения. Всякие тюнинги БД не помогают, потому что корень проблемы в том, как сервер работает.

Конкретно я нахожу полезными для себя еще пару приложений. Во-первых, закладки. Здесь тоже не нужно возиться с установкой и все очень просто. Копируешь ссылку, вставляешь – вуаля, можно заходить с другого устройства. Закладки можно помечать тегами ради удобной сортировки. Минус – при создании закладки её сходу тегом пометить нельзя, нужно после создания выделить и пометить, что не не очень юзабельно. Но в целом ок, я доволен. Во-вторых, аудиоплеер. Их есть аж два. Я пользуюсь тем, который music – тут тоже все просто: устанавливаешь, сканируешь, слушаешь. Можно слушать по исполнителям, по альбомам, по отдельной песне. Треки сортируются автоматически. Можно делать свои плейлисты, что тоже хорошо. В-третьих – записки. Они тоже существуют в нескольких вариациях. Есть просто записки, есть быстрые записки, есть Carnet, есть QOwnNotes. Последний не пробовал, просто записки и Carnet свое дело делают, но это совсем не то же самое что Evernote – нет группировки по тегам, файлики можно добавлять только в Carnet, примитивной имплементации задачек с дедлайнами нет (правда, для задачек есть отдельные приложения). Я пользуюсь быстрыми записками, которые также примитивны, но довольно удобно просто открывать страницу приложения и видеть разноцветные квадраты с текстом, без необходимости выделять конкретную записку.

Кстати о задачках. В Nextcloud они тоже есть в нескольких реализациях. Есть простое приложение Tasks, в котором можно делать тонны подзадач, с указанием дедлайнов и времени начала, выставлять приоритеты и сортировать по тегам, синхронизировать с мобильным, но нельзя назначать на других людей… что в общем-то важно. Еще есть Deck – аналог Trello и подобных Kanban-штук. Там задачи можно назначать на других людей, но до трелло недотягивает – нет комментирования, нет чеклистов и подзадач. В принципе Tasks – хороший выбор для персонального использования, а для групповых задач имхо лучше использовать другой селфхостед ресурс – Kanboard, который кроме того что обладаем всем тем, чего нет в дек, также поддерживает интеграцию того же джаббера (который можно одновременно интегрировать в некстклауд) или других чатиков.

Скриншот приложения Deck

О чем еще упомянуть? Есть приложение с календарем. Есть приложение, которое позволяет синхронизировать смски. Есть голосовалка с вариантами ответов “да”, “нет”, “хз” – тоже не loomio, но если потребности совсем базовые, то сойдет. Есть хорошее приложение для чтения RSS-лет. Есть приложение с прогнозом погоды.

В целом мне кажется, что со всеми приложениями некстклауд вступает в противоречие с философией Unix: “пусть программа выполняет одну задачу, но делает это хорошо”. По моим впечатлениям nextcloud хорошо выполняет свою основную задачу, но значительная часть расширяющих функционал приложений не может полноценно заменить специализированные ресурсы. В принципе если бы удалось интегрировать каждое узкоспециализированное приложение с другими, на выходе получилась бы хорошая унифицированная система. Вполне вероятно это все еще впереди, однако даже в том что касается некоторых базовых функций для многих программ предстоит еще много работы.

Добавить комментарий

Ваш e-mail не будет опубликован.