Установка и настройка сервера Leanote на Raspberry Pi 3

Raspberry Pi 3. Установка и настройка сервера Leanote

Дата Автор DmitryОставить комментарий 1 013 просмотров

Оживляя цикл публикаций о практическом использовании Raspberry Pi, публикую статью о разворачивании на этом микрокомпьютере серверной части Leanote — аналога Evernote, доступного для установки на собственных серверах.

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

И уже после публикации того поста я обнаружил Leanote — самый удачный аналог из всех на мой взгляд.

Leanote хорош сам по себе, но поистине превосходным вариантом его делает возможность развертывания на собственных серверах. И в роли такого сервера может выступать в том числе и Raspberry Pi.

Что нам понадобится

Для осуществления описываемых в этой статье действий понадобится:

Напоминаю, что подробное руководство по установке и настройке Raspbian находится здесь, а тут находится мануал по удаленному управлению «малиной» по SSH-протоколу.

Приложения Leanote для всех платформ можно скачать с этой страницы.

Почему именно Leanote

Leanote — китайская разработка, она достаточно малоизвестна в англоязычном интернете и еще менее известна у нас.

Почему же я отдаю предпочтение именно этому приложению?

Установка и настройка сервера Leanote на Raspberry Pi 3

«Ну, во-первых, это красиво» ©.

Серьезно, интерфейс десктопного клиента Leanote — лучшее, что мне доводилось видеть среди кросс-платформенных приложений для хранения заметок. Имеется несколько предустановленных тем оформления, включая «ночные» темы с темным и менее напрягающим глаза в темноте интерфейсом.

Во-вторых, приложение функционально и продумано. Заметки можно сортировать по блокнотам и тегам, а также добавлять в отдельный список «Избранное» (Starred).

Установка и настройка сервера Leanote на Raspberry Pi 3

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

Также имеется поддержка языка разметки Markdown. При использовании Markdown-верстки интерфейс редактора переключается в облегченный вид.

В-третьих, заметки можно экспортировать из приложения в форматах PDF или HTML, что очень удобно, когда нужно с кем-то поделиться. При конвертации в файл исходная верстка не теряется — проверял неоднократно.

Установка и настройка сервера Leanote на Raspberry Pi 3

В-четвертых, Leanote поддерживает все актуальные платформы.

Есть клиенты под Windows, Linux, macOS, iOS и Android, а также веб-интерфейс. Новые заметки можно создавать в оффлайн-режиме, а синхронизировать с сервером Leanote уже позднее (особенно оно актуально если сервер Leanote находится внутри локальной сети и не выведен в интернет — сильного дискомфорта это доставлять не будет).

Из странного: Leanote имеет собственную встроенную блогоплатформу, на которой можно в один клик публиковать посты из своей личной базы заметок. Китайская экзотика: кому доводилось сталкиваться с китайскими приложениями для локального рынка — те отмечают, что часто приложения бывают нагружены избыточными функциями, не имеющими никакого отношения к основному функционалу. Вот интересный пост на эту тему.

Хорошая новость в том, что хотя эта ненужная блогоплатформа и есть — интегрирована она достаточно ненавязчиво и игнорировать ее существование нетрудно. Кстати, работает она тоже на локальном Leanote-сервере, так что ваши личные данные никуда не утекут, даже если вы случайно опубликуете что-то из своих заметок.

В общем, Leanote — отличное приложение. И если под macOS еще есть способные с ним конкурировать аналоги (например, Bear выглядит очень неплохо, да и стандартное эппловское приложение «Заметки» становится все лучше и лучше с каждым новым релизом операционной системы), то под Windows достойных альтернатив нет.

Установка сервера Leanote

Установка серверного модуля Leanote крайне проста и займет не более 15 минут если делать по моей инструкции.

Начнем традиционно с обновления установленных пакетов:

sudo apt-get update
sudo apt-get dist-upgrade

После чего потребуется установить базу данных MongoDB, именно она используется Leanote в работе:

sudo apt-get install mongodb

Теперь создадим директорию для хранения файлов этой БД:

mkdir mongodb
cd mongodb
mkdir data

В данном случае будет создана папка /mongodb/data в домашней директории пользователя (/home/pi). Ее можно разместить и в другом месте, это не принципиально.

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

mongod --dbpath /home/pi/mongodb/data

Если директория размещается в другом месте — этот путь нужно поправить.

Теперь запустим MongoDB:

mongo

И введем команду

show dbs

Если при установке MongoDB не возникло никаких проблем, то отобразится что-то вроде этого:
Установка и настройка сервера Leanote на Raspberry Pi 3Пока что с MongoDB делать больше нечего, поэтому выходим из ее интерфейса через комбинацию Ctrl+C.

Теперь пришло время установить сам серверный модуль Leanote. Его нет в репозиториях и он скачивается в виде обычного архива:

wget https://sourceforge.net/projects/leanote-bin/files/2.5/leanote-linux-arm-v2.5.bin.tar.gz/

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

Распаковываем архив:

tar -xzvf leanote-linux-arm-v2.5.bin.tar.gz

В архиве серверного модуля содержится бэкап БД, содержащий в себе профиль администратора. Восстанавливаем этот бэкап в MongoDB:

mongorestore -h localhost -d leanote --dir /home/pi/leanote/mongodb_backup/leanote_install_data/

Теперь запустим MongoDB:

mongo

И переключимся в ней на БД leanote:

use leanote

После чего опять выходим из интерфейса по Ctr+C.

Если все прошло правильно, то на экране должно отобразиться примерно следующее:

Установка и настройка сервера Leanote на Raspberry Pi 3

Все, установка завершена. Запускаем сервер:

cd /home/pi/leanote/bin
bash run.sh &

При этом на экране отобразится следующее:

Установка и настройка сервера Leanote на Raspberry Pi 3

На этом все манипуляции с Raspberry Pi завершены.

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

Сервер Leanote поднят и доступен по адресу http://ip-адрес-raspberry-pi:9000

Установка и настройка сервера Leanote на Raspberry Pi 3

В веб-интерфейсе нужно залогиниться (Sign In) под администратором.

Логин: admin
Пароль: abc123

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

Но все же правильнее будет создать себе отдельную учетную запись. Для этого нужно зайти в админ-панель:

Установка и настройка сервера Leanote на Raspberry Pi 3

И добавить нового пользователя с никнеймом и паролем на свой выбор:

Установка и настройка сервера Leanote на Raspberry Pi 3

Все, на этом настройка завершена окончательно. Другие пункты админ-панели трогать не нужно — при локальном использовании и отсутствии «чужих» пользователей в системе они не нужны.

Теперь можно логиниться в любое из приложений Leanote (десктопное или мобильное) под учетными данными и начинать пользоваться:

Установка и настройка сервера Leanote на Raspberry Pi 3

Автозагрузка сервера

Напоследок осталось только добавить сервер Leanote в автозагрузку чтобы не включать его вручную после каждой перезагрузки Raspberry Pi. Для этого нужно открыть для редактирования файл конфигурации:

sudo nano .profile

И вписать в самый конец строку:

bash /home/leanote/bin/run.sh &

Готово. Теперь скрипт запуска сервера будет стартовать автоматически после загрузки.

Leanote и бэкапы

Все внесенные в Leanote пользовательские данные хранятся в БД. Чтобы сделать бэкап — нужно забэкапить эту БД, что делается при помощи консольной команды:

mongodump

Эта команда создает директорию «dump» в той директории, в которой вы находились на момент выполнения команды и помещает туда бэкап БД.
Восстанавливается БД из бэкапа также консольной командой:

mongorestore -h localhost -d leanote --dir /home/pi/dump/leanote/

Так что для обеспечения сохранности своих данных нужно время от времени выполнять команду mongodump и копировать файлы бэкапа на внешний носитель.

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

Заключение

Вот такое self-hosted решение для организации своей базы заметок можно сделать на базе Raspberry Pi или какого-либо иного одноплатного компьютера. Leanote отлично дополняет личное облако Nextcloud, которое также способна тянуть на себе «малина».

Что можно сделать лучше:

  • Разместить директории с файлами Leanote и с хранилищем MongoDB на жестком диске
    Это позволит снизить износ microSD-карточки с системой. Не забудьте только переписать пути к файлам и убедитесь, что права доступа к файлам и папкам соответствуют пользователю, под которым будет запускаться сервер Leanote.
  • Установить 64-битную OS и 64-битную версию MongoDB
    Несмотря на то, что Raspberry Pi 3 работает на 64-битном процессоре, официальная сборка Raspbian до сих пор поддерживает только 32-битную архитектуру. Переезд на 64-битную операционную систему (ей может быть OpenSUSE, Ubuntu, а недавно вроде даже появилось пересобранное любителями 64-битное ядро для самой Raspbian) позволит установить 64-битную версию MongoDB, а это в свою очередь избавит от проблем с поддержкой файлов БД размером более 2Гб.

Впрочем, Leanote прекрасно работает даже без этих действий, будучи установленной точно по приведенной выше инструкции. А главное — все ваши данные хранятся на вашем собственном «железе» и к ним не будет иметь доступа никто, кроме вас самих.

Raspberry Pi 3B (английская сборка)в интернет-магазине GearBest Raspberry Pi 3B (китайская сборка)в интернет-магазине GearBest

Понравилась статья? Выразите благодарность автору переводом любой суммы на ваше усмотрение :)

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *