What is Miniflux?

Miniflux is my favorite RSS reader. I enjoy using it. Recently, I attempted to install the latest miniflux reader without Docker and encountered some difficulties. Installation with Docker is straightforward, but it may be necessary to install without Docker in some cases. When I looked for resources to help me solve the problems I encountered during the installation, I found no proper online installation guide. As a result, I decided to create one. So here is it. Easy, simple Miniflux installation guide

Before start installing the app, update the host

sudo apt update && sudo apt upgrade -y

Add the miniflux repo

echo "deb [trusted=yes] https://repo.miniflux.app/apt/ /" | sudo tee /etc/apt/sources.list.d/miniflux.list > /dev/null
sudo apt update

Install miniflux and other necessary components

sudo apt install miniflux postgresql libpq5 postgresql postgresql-client postgresql-client-common postgresql-contrib

Create a database for miniflux

sudo -u postgres psql
create database miniflux;
create user miniflux with encrypted password 'miniflux';
grant all privileges on database miniflux to miniflux;
alter user miniflux with superuser;
\q

Edit miniflux config

nano /etc/miniflux.conf
# /etc/miniflux.conf
RUN_MIGRATIONS=1
DATABASE_URL=user=miniflux password=miniflux dbname=miniflux sslmode=disable
LISTEN_ADDR=/run/miniflux/miniflux.sock

SQL migration and adding an admin user

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

Run the app

miniflux -c /etc/miniflux.conf

Press Crtl+Z to go back

Install nginx and certbot

sudo apt update
sudo apt install nginx certbot python3-certbot-nginx -y
sudo nano /etc/nginx/sites-available/miniflux

Nginx config must be like this

# Change miniflux.example.com with your domain
server {
    server_name     miniflux.example.com;
    listen          80;

    location / {
        proxy_pass  http://unix:/run/miniflux/miniflux.sock;
        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;
    }
}

Enable the config

sudo ln -s ../sites-available/miniflux /etc/nginx/sites-enabled/miniflux
sudo certbot --non-interactive --redirect --agree-tos --nginx -d miniflux.example.com -m [email protected]

Configure systemd service

sudo nano /etc/systemd/system/miniflux.service
[Unit]
Description=Miniflux
After=syslog.target network.target

[Service]
Type=simple
User=miniflux
ExecStart=/usr/bin/miniflux -c /etc/miniflux.conf
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

Reload the Systemd daemon

sudo systemctl daemon-reload

Start the service and enable to start on host boot

sudo systemctl start miniflux && sudo systemctl enable miniflux

Check the service status

sudo systemctl status miniflux

meson-dash

Ta-Da!! Your miniflux instance is ready!