-- Leo's gemini proxy

-- Connecting to byzoni.org:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini;lang=ru-RU

⏪ Вернуться к gemlog


2021-12-09


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


Подготовка


Прежде всего, давайте начнем с обновления пакетов:


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

Miniflux требует postresql в качестве сервера базы данных. Поэтому давайте установим необходимые пакеты:


$ sudo apt install postgresql postgresql-contrib

Загрузятся драйверы PostgreSQL последней версии и развернутся необходимые компоненты.


Запускаем сервис:


$ sudo systemctl start postgresql.service

Проверка статуса сервиса:


$ sudo systemctl status postgresql.service

Сервис развернули.


Создание базы данных


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


$ sudo -u postgres psql -c "CREATE USER miniflux WITH PASSWORD 'miniflux';"
$ 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;'

Установите Miniflux.


$ sudo wget -O /usr/local/bin/miniflux https://github.com/miniflux/v2/releases/download/2.0.34/miniflux-linux-amd64

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


$ sudo chmod +x /usr/local/bin/miniflux
$ sudo chmod 755 /usr/local/bin/miniflux
$ sudo setcap cap_net_bind_service=+ep /usr/local/bin/miniflux

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


$ getcap /usr/local/bin/miniflux
/usr/local/bin/miniflux = cap_net_bind_service+ep

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


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


$ sudo useradd -s /usr/sbin/nologin -r -M 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=miniflux dbname=miniflux_db sslmode=disable host=localhost port=MyPostgreSQLPort

# 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

Создайте файл сервиса, чтобы запустить 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
ExecStart=/usr/local/bin/miniflux
EnvironmentFile=/etc/miniflux.conf
User=miniflux
Restart=always
NonBlocking=true

[Install]
WantedBy=multi-user.target

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


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

Настройте 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-адрес, дождаться его делегирования, и можно открывать уже свой ридер в браузере.


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


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

-- Response ended

-- Page fetched on Mon May 20 09:00:22 2024