Привет! С вами как всегда Игорь из PQ.Hosting!
Оптимизация рутины и быта всегда меня интересовала — всегда хотелось, чтобы не я работал на гаджеты и приложения, а наоборот. Помню, что когда узнал о существовании сервиса IFTTT, то это вообще был шок. Оказалось, что столько однотипных задач можно повесить на бездушную машину и освободить голову для чего-то более важного.
Проблема в том, что IFTTT, Zapier страдают от одних и тех же проблем. Во-первых, они слишком закрытые и простора для реализации каких-либо нестандартных задач в них практически нет. Во-вторых, часто они любят прятать некоторые важные функции за пейволлом, что тоже неприятно. И я уже молчу про вопросы безопасности, когда ты доверяешь достаточно конфиденциальную информацию обычной компании, которая может слить данные, обанкротиться или продаться крупной корпорации в любой момент.
Поэтому я решил как и в других случаях посмотреть в сторону опенсорсных self hosted решений, которые есть сейчас. Так я вышел на Gotify — легкое приложение для отправки пушей, которое можно в пару кликов установить на сервер, а потом настроить через GUI. Сервис далеко не новый, кто давно в теме про него уже знают, но для новичков или вообще всех, кто только погружается в тему оптимизации не будет лишним еще раз про него рассказать.
Из этой статьи вы узнаете, как установить и базово настроить Gotify, а также для каких задач его можно использовать.
На что можно установить Gotify
Выбор ОС и устройств тут приличный: серверную часть Gotify можно установить на Linux, Windows, macOS, также на Raspberry Pi. Официальных системных требований по железу я не нашел, но судя по тому, что Gotify может работать даже на 32-битных процессорах из позапрошлого десятилетия, то много ресурсов он не потребует.
Я буду устанавливать Gotify на виртуальный сервер начального уровня от PQ.Hosting. Характеристики у него следующие:

Если вы хотите арендовать подобную виртуальную машину или что-то помощнее, не желаете переплачивать, то обязательно воспользуйтесь промокодом HABR. По нему вы получите скидку 15% на заказ VPS у PQ.Hosting.
А вот в случае клиентской части вариантов уже не так много: доступен веб-интерфейс и приложение для Android. Владельцам айфонов и айпэдов придется пользоваться сторонними решениями или Telegram-ботами.
Как установить Gotify на сервер
Тут у нас есть несколько вариантов на выбор — выбирайте тот, который вам больше подходит.
Метод 1 — установка вручную
1. Загрузите бинарник с Гитхаба.
wget
https://github.com/gotify/server/releases/download/v2.6.1/gotify-linux-amd64.zip
Если вы хотите установить Gotify на ARM-систему или 32-битный процессор AMD/Intel, то качайте подходящий файл. Полный список всех релизов есть по ссылке.
2. Распакуйте архив
unzip
gotify-linux-amd64.zip
3. Сделайте его исполняемым
chmod +x gotify-linux-amd64
4. Запустите сервер.
./gotify-linux-amd64
По дефолту он стартует на 80 порту.
Метод 2 — установка через Docker
Если на вашем сервере уже установлен Docker, то с его помощью можно гораздо быстрее развернуть Gotify. Для этого достаточно выполнить всего одну команду:
docker run -d \
-p 8080:80 \
--name gotify \
-v /gotify/data:/app/data \
gotify/server
В этом случае Gotify будет доступен на 8080 порту.
Настройка и тест Gotify
Итак, приложение установлено — осталось только немного поколдовать с настройками.
1. Перейдите по адресу http://ip-вашего-сервера:8080 и залогиньтесь. По умолчанию в качестве имени пользователя и пароля используется admin и admin.
2. Вот мы и на главной странице Gotify. Для начала перейдите на вкладку ADMIN и измените пароль, потому что сидеть под стандартным как-то неправильно.

3. Далее вы можете протестировать, как работает Gotify с помощью команды curl прямо из командной строки. Для этого перейдите на вкладку APPS и кликните на CREATE APPLICATION.
4. Придумайте название и нажмите CREATE.

5. Теперь перейдите в консоль и введите следующее тестовое сообщение:
curl "
http://ip-вашего-сервера:8080/message?token=ваш-токен(он-доступен
на вкладке APPLICATION)" -F "title=my title" -F "message=my message" -F "priority=5"

В итоге в самом Gotify должно появиться такое сообщение.

Кстати, когда пришло сообщение, у меня проигрался короткий джингл — неожиданно и приятно. Хотя непонятно, как дело настроить, если бы я захотел, например, для разных приложений поставить различные мелодии.
Кейсы использования
Понятно, что отправкой сообщений самому себе через curl тут все не заканчивается. У Gotify множество различных способов использования. Вот только некоторые из них, которые применяются чаще всего.
Интеграция с системами контроля версия. Так, разработчики могут использовать Gotify для получения уведомлений от Github. Например, при успешном завершении сборки или при появлении ошибки в процессе интеграции. В таком случае Gotify автоматически отправит вам пуш с информацией о статусе.
Мониторинг состояния серверов и веб-проектов. Администраторы серверов могут настроить Gotify для отправки уведомлений о сбоях, изменениях в трафике или других критических событиях. Например, при обнаружении падения сервера или превышении порога нагрузки.
Получение оповещений от различных сервисов. Gotify можно использовать и для личных задач. Допустим, вы можете настроить получение уведомлений при появлении новых статей на любимом сайте или при обновлении данных в определенном сервисе.
Вывод
Gotify — удобный и легкий сервис, который настраивается за пару минут. При этом его возможности ограничиваются только вашим воображением. Мне кажется, что он отлично впишется в любую систему умного дома — если бы у меня такой был, то я бы точно использовал для него Gotify.
Как вам сервис? Стали бы устанавливать его себе на сервер? А если пользуетесь, то расскажите о ваших кейсах — очень интересно будет почитать!