Необходимые требования
Чтобы всё получилось нам понадобится:
- Сервер с Root доступом. Рекомендую вот этот
- Доменное имя. Можно бесплатный домен или поддомен
- Установленный Docker + Docker-Compose
- Установленный и настроенный Nginx Proxy Manager
- 15 - 45 минут времени
В двух словах о freshrss
Freshrss является агрегатором Rss лент. Rss это такой специальный формат написанный с использованием XML разметки, который предназначен для описания новостей конкретного сайта и/или разделов сайта.
В былые времена, когда социальные сети ещё не были мейнстримом, технологии Rss пользовались большой популярностью. Затем с появлением соц. сетей потихоньку ушли на второй план.
В данный момент соц.сети слишком агрессивно навязывающие популярный контент, не оставляют выбора и технология Rss становится снова востребованной. Тем более что сама технология никуда не уходила.
С помощью freshrss мы сможем подписаться и получать последние новости из наших любимых источников информации, если они у них есть. Все новости будут выводиться в приятном минималистичном дизайне в веб интерфейсе.
Полученные новости будут кэшироваться и разбиваться по тегам. Так же мы получим возможность разделять новости на прочитанные и непрочитанные.
Есть возможность менять дизайн, который выглядит приятно и не режет глаз.
Есть система плагинов, расширяющая основной функционал.
Подготовка
Как и в предыдущих статьях про докер контейнеры мы будем придерживаться правила - хранить все контейнеры в одном месте. Создаём необходимые директории для freshrss
Сделаем нашего пользователя (не root !) владельцем этой директории
Конфигурация и запуск
Перейдём в директорию, которую мы создавали выше
Создадим фаил docker-compose.yml
И заполняем его таким таким содержанием. Данный конфиг подойдёт сразу под amd64 и arm64 архитектур.
Если Вы хотите поднять FreshRSS не светя порты наружу, прочитайте про проксирование приложения в NPM через хостнейм. После усвоения материала используйте этот фаил docker-dompose. В противном случае используйте первый вариант, изначально пост писался именно под него!
В конфиге обязательно обращаем внимание на строки PUID и PGID. Если нам это нужно то в них мы можем вписать идентификатор пользователя и группы, от которого хотим запускать контейнер!
Для этого их необходимо раскомментировать. А сами ID можно посмотреть написав в терминале:
Самые распространённые идентификаторы 1000 и 1001
Следующим шагом мы придумываем логин и пароль для базы данных. И вписываем их в этот кусок конфига
- POSTGRES_USER=freshrss
- POSTGRES_PASSWORD=YOURPASSWORD
С настройкой закончили. Сохраняем конфиг.
Я советую периодически проверять freshrss на наличие новых версий. На момент написания статьи актуальная версия была
freshrss:1.19.2
Стартуем контейнер с freshrss
Подключаем домен
Пришло время подключить домен к freshrss. Делать это будем при помощи Nginx Proxy Manager, о котором я писал недавно в одноимённой статье.
В Nginx Proxy Manager(далее NPM) создаём новый хост. Заполняем необходимую информацию.
- Домен либо поддомен
- Ip адрес
- Порт - 13380 (если вы не меняли его в docker-compose.yml)
Нажимаем Save и ждём примерно 60 секунд.
После этого снова редактируем только что добавленный хост, нажав на три точки справа и Edit.
На этот раз отправляемся в раздел SSL в котором запрашиваем новый ssl сертификат для нашего домена - Request a new SSL Certificate
И нажимаем кнопку Save
Обратите внимание, что после нажатия кнопки Save не должно быть никаких ошибок. Если у вас всё же были какие то ошибки, скорее всего это связано с тем что у вас не успели обновиться записи в DNS, либо вы превысили лимиты(количество попыток) LetsEncrypt. В обоих случаях надо просто подождать и повторить попытку позже.
Если же у вас не выдало никаких ошибок с сертификатом, то сразу проверяем результат в браузере, открыв только что добавленный домен.
Мы должны увидеть страницу установки freshrss
Установка freshrss
Выбираем язык и переходим на следующий шаг
Тут установщик оповестит нас о том всё ли у нас готово для установки
У нас всё отлично - переходим к следующему шагу
Так как мы устанавливаем в качестве бд postgres, выбираем его в списке и вводим необходимые данные для подключения к нему из docker-compose.yml
Теперь придумываем сложный логин и пароль для учётной записи администратора. Остальных пользователей мы сможем поставить потом, если это будет нужно.
На последнем шаге, чуточку подумав - система оповещает нас об успешной установке
После этого мы авторизируемся и попадаем на главный экран
Настройка freshrss
Для начала сменим внешний вид. Для этого нажимаем на значок шестеренки который располагается сверху и перейдём в пункт Отображение
Лично мне приглянулся стиль Alternative Dark выбираем и применяем
Вот так - сразу гораздо лучше
Чиним cron
Freshrss использует специальный фаил внутри контейнера который называется actualize_script.php для того чтобы обновлять ленты RSS.
Используя freshrss в докере из коробки к сожалению эта фича не работает. Но мы делегируем выполнение этого функционала, штатному cron.
Для этого сначала установим его
Проверим что он запущен и работает
Мы будем запускать наше задание от root поэтому пишем
В самую нижнюю строчку добавляем наше задание
Проверить результат очень просто
Установка плагинов freshrss
Плагины помогут нам расширить базовый функционал freshrss. Я покажу установку плагинов на примере плагина ThreePanesView.
Но сначала нам необходимо убедиться что у нас в системе установлен Git. Для этого напишем в терминале
Если гита у нас не оказалось то ставим его
Кликаем по плагину и попадаем на репозиторий автора.
Переходим в необходимую папку
Скачиваем плагин
Теперь, обновив страницу с плагинами во freshrss мы увидим что у нас добавился новый плагин.
Активируем его кнопкой Включить
Теперь переходя на главную страницу freshrss мы обнаружим что теперь у нас 3 панели вместо двух. Очень удобно, т.к. можно прямо на месте прочитать интересующую нас новость.
Использование freshrss
Пришло время показать как пользоваться этим замечательным продуктом.
Так как сидеть от админского пользователя небезопасно, сделаем ещё одного пользователя.
Для этого отправляемся в пункт меню Управление пользователями. И создаём там нового пользователя
Перелогиниваемся за вновь созданного пользователя
Сразу поменяем внешний вид и и активируем необходимые плагины
Нас интересует кнопка Управление подписками
Кликнув по ней попадаем как не странно на страницу с подписками. Я покажу пример на основе хабра.
Сразу создадим новую категорию
Отправляемся на Habr. Мне приглянулся хаб Информационная безопасность. Кликаем по значку Rss и ссылка скопируется в буфер обмена.
Остаётся лишь добавить эту ссылку в нужный нам раздел в freshrss. На странице Управление подписками нажимаем Добавить RSS-ленту
Вставляем ссылку из буфера и выбираем категорию
И нажимаем добавить
После чего на главной странице у нас появился фид хаба с хабра в одноимённом разделе
Остаётся лишь подписаться на интересующие вас фиды.
Подключаем мобильное приложение
Как оказалось у freshrss есть мобильное приложение, которое можно скачать с F-Droid. Возможно оно и не выглядит очень красиво, но свою задачу оно выполняет. А именно синхронизирует данные о прочитанных фидах между телефоном и freshrss.
Если вы просто скачаете приложение и попытаетесь авторизоваться в нём - ничего не заработает. Сначала необходимо разрешить использование API в настройках самого freshrss.
Для этого идём в пункт Аутентификация и в нём отмечаем чекбокс Позволить API доступ (необходимо для мобильных приложений) в положение вкл.
Перелогиниваемся в созданный ранее не админский аккаунт. В котором идём в настройки профиля
Тут у нас появился новый пункт Настройки API. Необходимо придумать пароль для мобильного приложения и вписать его в Пароль API
После чего в самом приложении необходимо будет вписать этот пароль.
На этом считаю установку и знакомство с freshrss успешно выполненными.
Отправить комментарий