Телефонный виджет для переписок и система заметок на базе гита (gitea)

В тексте использование набора разрозненных инструментов не по прямому назначению, а для: 

Когда возникла необходимость в VPN я решил арендовать под это дело отдельный VPS сервер. Мощности были взяты с небольшим запасом для разных экспериментов и личных мини проектов. Обычно для небольших веб приложений я использовал github pages, но у него есть очевидные минусы: некоторые вещи не хочется светить в паблике, иногда нужен полноценный сервер, а не простая статичная html страница. Для сервера были попытки использовать яндекс облако (есть  бесплатные лимиты), но разбираться с инфраструктурой лямбд, апи гэтвэев, s3 хранилищ и прочим оказалось довольно накладно, особенно когда что то надо поправить раз в месяц, а то и раз в год. 

Исходя из этих предпосылок после настройки VPN на сервере, туда же был поставлен gitea. Ресурсов gitea жрёт минимум, ставится и настраивается элементарно. Вначале я хотел попробовать использовать встроенный вики движок как простую альтернативу github pages. Гит сервер мне всё равно был нужен, а монструозные cms ставить совсем не хотелось (из соображений простоты и ресурсов VPS). Немного поигравшись с вики и поняв, что функционала простых md файлов мне не достаточно (да и js цеплять туда проблематично), я вернулся к html + js страничкам. Что бы это было похоже на github pages, я доставил на сервер nginx и настроил гит хуки для деплоя статики. Теперь у меня имелся git сервер с веб мордой для быстрого редактирования и создания файлов. И простейший автодеплой по коммиту. Чем не простейшая cms, да ещё и с версионированием контента? А ещё я хотел предоставлять контролируемый доступ другим пользователям до файлов репозитория. 

У gitea кроме функционала собственно гита (с веб редактором) и вышеупомянутого вики движка есть ещё и трекер задач. Тут видим стандартный функционал: у задач можно назначать исполнителя, дату выполнения, писать комментарии, цеплять изображения, объединять задачи в проекты с выводом на канбан доску (всё примерно как в gitlab). В качестве младшего сотрудника в gitea была добавлена жена и заведён небольшой список семейных дел (планов) на длинные выходные. В целом всё тоже самое можно сделать в trello или гугл документах, но тут точно не выносим семейное в чужое облако со случайным доступом. На практике, именно как инструмент для todo списков или планирования, канбан доска не слишком себя оправдала, но это больше вопрос к практике использования, а не инструменту.

Канбан доска
Канбан доска

Теперь стоит сделать небольшой шаг в сторону и объяснять, какие записи (заметки) я использую в повседневной жизни. Система ведения заметок ещё в процессе формирования, но пока получается так:

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

В какой то момент ещё зародилась идея перекидываться цифровыми записками с женой, но не просто смсками или сообщениями в мессенджере, а так, чтобы текст был постоянно на главном экране телефона. Идеально для небольших напоминаний или намёков второй половине. Гугление вывело на замечательную программу widgetify. Работает она предельно просто - на экран телефона помещает виджет, внутри которого отображается скриншот любого сайта. Есть минимально необходимые настройки: урл, частота обновления виджета, авторизация, разные http настройки. Виджет умеет в push уведомления, но так как работает со скринами сайта, то уведомления срабатывают на процент разницы предыдущего и текущего скриншота. Такой подход в целом работает, но с нюансами - то страница не подгрузится полностью, то фоновое изображение по какой то причине отрендерится чуть по другому и даст ложное уведомление. Но для отправки небольшого текста на экран телефона работает приемлемо. 

Итоговое решение выглядит следующим образом. Имеется три основные html страницы с минимальным содержимым и стилями:

В widgetify прописывается адрес основной странички, через url передается api токен (но можно настроить и авторизацию по кукам). А страница виджета уже через api подгружает нужный текст сообщения. С апи фокус в том, что личные сообщения точно не светятся наружу без авторизации или апи токена. Для редактирования сообщений собственно используется веб редактор gitea. Из минусов - автодополнение редактора ломается и глючит в мобильных браузерах вплоть до поломки функционала редактирования текста. Тут спасает простое "набрать где то ещё -> скопировать -> вставить в gitea". 

В процессе использования такого виджета последовательно добавлялись улучшения:

Дашбоард с быстрыми ссылками
Дашбоард с быстрыми ссылками

Обдумываю добавить внешний html (или markdown) редактор для полноценной поддержки мобильных браузеров. Либо добавить уже свою серверную часть, вместо использования gitea. Но это уже дополнительные трудозатраты с минимальным выхлопом.

А используется это следующим образом:

Виджет на экране телефона. Текст снизу и сверху меняется местами для каждого пользователя.
Виджет на экране телефона. Текст снизу и сверху меняется местами для каждого пользователя.

Таким образом имея VPS с минимальным софтом на борту получилось реализовать:

Полезные ссылки:

@ZurgInq
20.01.2025 15:16 UTC
Первоисточник

Комментарии

@Vedomir
20.01.2025 12:39 UTC
0

Познавательно, но конечно убивает вся ситуация при которой нет ни одной нормальной программы для заметок и все городят разные костыли. Сам уже с десяток перепробовал, но мне на мобильнике заметки не сильно нужны и в семье народ их не любит, как временное решение примитивнейшая ColorNote + с телеграма в спецгруппы только для себя пересылаю, на десктопе опять же оффлайновая CherryTree и у нее тоже есть свои глюки.

@anton99zel
22.01.2025 10:46 UTC
0

Google keep

22.01.2025 13:26 UTC
0

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

Так вот навскидку там есть дерево папок с подпапками? Он смутно помнится как очень простенькая программа, могу ошибаться. Глянул сейчас по википедии судя по ней это вообще что-то запредельно примитивное, там не только папок нет но и версии для настольных компов которая бы оффлайн работала, а интерфейс простенький набор карточек.

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

22.01.2025 13:35 UTC
0

Есть ярлыки. Каждую заметку можно отнести к ярлыку. Оффлайн работает на смартфоне. Синхронизируется при наличии интернета. Есть напоминания. В основном использую как хранение логинов и паролей от учётных записей. Из плюсов, редактирую на телефоне, сразу же меняется на компьютере.

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

Как вариант, посмотрите на сервисы от Zoho. Заметками не пользовался, но почта для меня идеальная.

22.01.2025 13:54 UTC
0

Для простых заметок можно использовать вообще что угодно. А вот для организации личной базы знаний бэкапы куда то ещё всегда в тему. И даже отсутствие мобильного клиента тут не будет минусом. Так как с мобильного устройства нормально работать с текстом всё равно не выйдет.

22.01.2025 14:16 UTC
0

Я же не претендую на абсолютную истину. Само собой есть люди, которым хватает какой-то из текущих систем заметок. И для которых у нее нет такой значимости. А есть немало других которым не хватает и заметки значимы. Я не первый раз вижу статьи вроде этой где обсуждаются самые разные и дико костыльные системы организации заметок. Явно проблема не у меня одного.

По сравнению с описанной в статье системой поднятие своего сервера из одного монолитного приложения будет намного проще и ненужными усилиями оно кажется ровно до той поры, пока существующая система заметок в которую вложил много усилий не пришлет письмо "спасибо за ваши деньги, через две недели удаляем все ваши данные идите на ..." как это сделала Notion например. И да меня Notion тоже был неудобным с многими недостатками.

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