Как самостоятельно разместить RSS-ридер с FreshRSS

Фотография ноутбука на столе в кафе.

FreshRSS — это простой и легкий в развертывании веб-ридер RSS-лент для серверов Linux. Подобно Tiny Tiny RSS, он предоставляет чистый, кросс-платформенный интерфейс, к которому вы можете получить доступ из вашего веб-браузера.

Эта статья покажет вам, как установить FreshRSS на Ubuntu. Мы также расскажем, как вы можете настроить ридер для многопользовательской сессии.

Содержание

  • Почему FreshRSS?
  • Установка FreshRSS
  • Настройка обратного прокси и SSL
  • Доступ и настройка FreshRSS

Почему FreshRSS?

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

Скриншот, показывающий инструмент веб-скрапинга FreshRSS.

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

Скриншот, показывающий полностью работающий экземпляр FreshRSS.

Установка FreshRSS

Предположение: Эта статья предполагает, что у вас есть рабочее доменное имя с A и PTR записями, указывающими на IP-адрес и имя хоста вашего VPS.

Мы будем использовать Docker для установки FreshRSS.

Установка Docker

Получите ключ подписи репозитория Docker с сайта проекта:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg |sudo gpg --dearmor-o/etc/apt/keyrings/docker.gpg  
sudochmod a+r /etc/apt/keyrings/docker.gpg

Создайте новый файл репозитория для Docker:

sudonano/etc/apt/sources.list.d/docker.list

Напишите следующую строку кода в вашем новом файле репозитория:

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable

Обновите репозитории вашей системы, обновите вашу систему и установите бинарные файлы Docker:

sudo apt update &&sudo apt upgrade  
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx

Создание Docker-контейнера FreshRSS

Создайте новую директорию в домашней директории вашего пользователя для FreshRSS и перейдите в нее:

mkdir ~/freshrss &&cd ~/freshrss

Создайте файл “docker-compose.yml” с помощью вашего любимого текстового редактора:

nano ./docker-compose.yml

Вставьте следующий блок кода в ваш новый файл docker-compose:

---  
version: "2.4"  
volumes:  
  data: null  
  extensions: null  
services:  
  freshrss:  
    image: freshrss/freshrss:latest  
    build:  
      context: https://github.com/FreshRSS/FreshRSS.git#latest  
      dockerfile: Docker/Dockerfile-Alpine  
    container_name: freshrss  
    hostname: freshrss  
    restart: unless-stopped  
    logging:  
      options:  
        max-size: 10m  
    volumes:  
      - data:/var/www/FreshRSS/data  
      - extensions:/var/www/FreshRSS/extensions  
    ports:  
      - "8080:80"  
    environment:  
      TZ: Asia/Manila # ИЗМЕНИТЕ НА ВАШ ЧАСОВОЙ ПОЯС  
      CRON_MIN: 3,33

Сохраните ваш файл docker-compose.yml. Выполните следующую команду, чтобы создать ваш docker-контейнер:

sudodocker compose up -d

Настройка обратного прокси и SSL

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

Для начала создайте файл конфигурации сайта Nginx для вашего экземпляра:

sudonano/etc/nginx/sites-available/freshrss

Вставьте следующий блок кода в ваш новый файл конфигурации сайта:

server {  
    listen 80;  
    listen [::]:80;  
  
    root                    /var/www/html;  
    server_name             freshrss.your-domain-name.here;  
  
    location /{  
        proxy_set_header    X-Forwarded-For $remote_addr;  
        proxy_set_header    Host $http_host;  
        proxy_set_header    X-Forwarded-Proto $scheme;  
        proxy_pass          http://localhost:8080;  
}  
}

Сохраните ваш новый файл конфигурации сайта и выполните следующую команду, чтобы создать символическую ссылку на “/etc/nginx/sites-enabled”:

sudoln-s/etc/nginx/sites-available/freshrss /etc/nginx/sites-enabled/

Проверьте вашу конфигурацию Nginx:

sudo nginx -t

Если все в порядке, перезагрузите демон сервера Nginx и включите его при запуске системы:

sudo systemctl reload nginx

Включение SSL для вашего экземпляра

Чтобы получить SSL-сертификат, установите основной демон snap в вашу систему:

sudo snap install core

Получите и установите утилиту certbot от Фонда Электронных Фронтов (EFF) с помощью snap:

sudo snap install certbot --classic

Зарегистрируйте вашу установку certbot в EFF, выполнив следующую команду:

sudo certbot register --agree-tos-m [email protected]

Запросите SSL-сертификат для вашего экземпляра, выполнив следующую команду:

sudo certbot --nginx-d your-freshrss-domain-name

Доступ и настройка FreshRSS

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

Скриншот, показывающий запрос выбора языка для FreshRSS.

Это загрузит модуль самопроверки FreshRSS, который проверит, работает ли текущий экземпляр правильно. Чтобы продолжить, прокрутите вниз до конца страницы, затем нажмите “Перейти к следующему шагу”.

Скриншот, показывающий запрос проверки зависимостей.

Нажмите на выпадающий список, выберите “SQLite”, затем нажмите “Отправить”.

Скриншот, показывающий запрос выбора базы данных.

Заполните данные администратора вашего экземпляра, затем нажмите “Отправить”, чтобы создать его.

Скриншот, показывающий данные администратора для этого экземпляра.

Нажмите “Завершить установку”, чтобы правильно запустить ваш новый экземпляр FreshRSS.

Включение регистрации пользователей

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

Скриншот, подчеркивающий кнопку настроек для FreshRSS.

Прокрутите до категории “Администрирование”, затем выберите “Системная конфигурация”.

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

Скриншот, показывающий переключатель регистрации для экземпляра FreshRSS.

Сохраните вашу новую конфигурацию сайта, нажав кнопку “Отправить” внизу страницы.

Удаление данных существующего пользователя

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

Перейдите в категорию “Администрирование”, затем выберите “Управление пользователями”.

Это откроет страницу со списком текущих пользователей в вашем экземпляре FreshRSS. Нажмите на имя пользователя, которого вы хотите отключить.

Скриншот, подчеркивающий имя пользователя, на которое можно нажать в запросе управления пользователями.

Нажмите кнопку “Очистить”, чтобы удалить RSS-ленты пользователя.

Скриншот, подчеркивающий кнопку

Хостинг собственного веб-ридера RSS — это только начало захвата ваших личных данных в Интернете. Узнайте, как вы можете разместить свой собственный сайт для обмена видео с помощью Peertube.

Кредит изображения: Yongma Seo через Unsplash и FreshRSS Github (логотип). Все изменения и скриншоты сделаны Рамсесом Редом.