Miniflux является минималистский веб RSS-ридер с открытым исходным кодом, оптимизированным для удобства чтения. Это быстрый, простой, эффективный и он работает с помощью смартфона, планшетного ПК или на рабочем столе.

Предпосылки

  • Сервер с Ubuntu 22.04 в качестве ОС
  • Права пользователя: пользователь root или обычный пользователь с привилегиями sudo

Шаг 1. Обновите систему

Свежая установка Ubuntu 22.04 требует обновления пакетов до последних доступных версий.

sudo apt-get update -y && sudo apt-get upgrade -y

Шаг 2. Установите PostgreSQL

Установите пакет Postgres вместе с пакетом -contrib, который добавляет некоторые дополнительные утилиты и функции:

sudo apt install postgresql postgresql-contrib

После установки запустите и включите службу PostgreSQL.

sudo systemctl enable postgresql.service && sudo systemctl start postgresql.service

Шаг 3. Создание базы данных

Нам нужно создать базу данных для Miniflux для работы.

sudo -u postgres psql -c "CREATE USER miniflux WITH PASSWORD 'yourpassword';"
sudo -u postgres psql -c "CREATE DATABASE miniflux_db OWNER miniflux;"
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE miniflux_db TO miniflux;"
sudo -u postgres psql miniflux_db -c 'CREATE EXTENSION hstore;'

Шаг 4. Установите Miniflux

Мы установим miniflux в /opt/miniflux, измените путь, где это необходимо, если вы хотите установить его в другом месте.

sudo wget -O /opt/miniflux https://github.com/miniflux/v2/releases/download/2.0.41/miniflux-linux-amd64

Сделайте файл miniflux исполняемый

sudo chmod +x /opt/miniflux
sudo setcap 'cap_net_bind_service=+ep' /opt/miniflux
sudo ln -s /opt/miniflux /usr/local/bin/miniflux

Убедитесь, что возможность добавлена:

getcap /opt/miniflux
/opt/miniflux = cap_net_bind_service+ep

Обратите внимание, что вам придется сделать эту операцию каждый раз, когда вы обновляете Miniflux.

Шаг 5. Создайте пользователя для запуска

sudo useradd -s /usr/sbin/nologin -r -M miniflux

Шаг 6. Настройте Miniflux

Наконец, нам нужно настроить miniflux. Файл конфигурации хранится в /etc/miniflux.conf:

sudo nano /etc/miniflux.conf

И добавьте следующее содержимое.

# /etc/miniflux.conf

LOG_DATE_TIME=yes
LISTEN_ADDR=127.0.0.1:8080
DATABASE_URL=user=miniflux password=yourpassword dbname=miniflux_db sslmode=disable host=127.0.0.1 port=5432

# Run SQL migrations automatically:
RUN_MIGRATIONS=1

Затем

sudo chown miniflux:miniflux /etc/miniflux.conf
sudo chmod 600 /etc/miniflux.conf

Чтобы завершить установку, запустите миграции SQL и создайте администратора пользователя:

sudo miniflux -c /etc/miniflux.conf -migrate
sudo miniflux -c /etc/miniflux.conf -create-admin

Шаг 7. Создайте файл сервиса, чтобы запустить Miniflux автоматически

Используйте nano, чтобы создать новый файл сервиса.

sudo nano /etc/systemd/system/miniflux.service

И добавьте следующее содержимое в miniflux.service.

[Unit]
Description=Miniflux Service
Requires=miniflux
After=network.target
After=postgresql.service


[Service]
Type=simple
StartLimitBurst=0
WorkingDirectory=/opt/miniflux
ExecStart=/usr/local/bin/miniflux
EnvironmentFile=/etc/miniflux.conf
User=miniflux
Restart=always
NonBlocking=true

[Install]
WantedBy=multi-user.target

Запустите сервис.

sudo systemctl start miniflux.service
sudo systemctl enable miniflux.service
sudo systemctl status miniflux.service

Шаг 8. Настройте Nginx в качестве обратного прокси

sudo apt-get -y install nginx

Создайте обратный конфигурацию прокси-сервера для Miniflux.

sudo nano /etc/nginx/sites-available/miniflux.conf

Заполните файл следующей конфигурацией.

server {
    server_name     my.domain.tld;
    listen          80;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Включите конфигурацию обратной прокси-сервера Miniflux Nginx.

sudo ln -s /etc/nginx/sites-available/miniflux.conf /etc/nginx/sites-enabled/miniflux.conf

Проверка конфигурации и перезагрузите службу Nginx.

sudo nginx -t
sudo systemctl restart nginx.service

Собственно на этом всё. Остается только у своего доменного регистратора прописать на используемый my.domain.tld требуемый ip-адрес, дождаться его делегирования, и можно открывать уже свой rss в браузере.

Для первого входа в систему используется учетные данные и можете импортировать свой opml-файл с rss-подписками.

В целом, Miniflux мне очень понравился тем, что он очень легкий, быстрый, имеет управление с клавиатуры. Плюс в нем очень просто настраивать оформление статей.

Если вам понравился этот пост об установке Miniflux на Ubuntu 22.04, поделитесь им с друзьями в социальных сетях. Спасибо.