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

FreshRSS — это простой и легкий в развертывании веб-ридер RSS-лент для серверов Linux. Подобно Tiny Tiny RSS, он предоставляет чистый, кросс-платформенный интерфейс, к которому вы можете получить доступ из вашего веб-браузера.
Эта статья покажет вам, как установить FreshRSS на Ubuntu. Мы также расскажем, как вы можете настроить ридер для многопользовательской сессии.
Содержание
- Почему FreshRSS?
- Установка FreshRSS
- Настройка обратного прокси и SSL
- Доступ и настройка FreshRSS
Почему FreshRSS?
Одним из главных преимуществ FreshRSS является то, что он поставляется с встроенным веб-скрепером. Это означает, что вы можете создавать базовые RSS-ленты даже на веб-сайтах, которые не поддерживают их.

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

Установка 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, который проверит, работает ли текущий экземпляр правильно. Чтобы продолжить, прокрутите вниз до конца страницы, затем нажмите “Перейти к следующему шагу”.

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

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

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

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

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

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

Хостинг собственного веб-ридера RSS — это только начало захвата ваших личных данных в Интернете. Узнайте, как вы можете разместить свой собственный сайт для обмена видео с помощью Peertube.
Кредит изображения: Yongma Seo через Unsplash и FreshRSS Github (логотип). Все изменения и скриншоты сделаны Рамсесом Редом.