Introduction
In recent years, I’ve adopted the practice of exploring Privacy Guides and gradually, step by step, substituting proprietary technologies that disregard our privacy with open-source, privacy-respecting alternatives. In this blog post, we will expand our homelab with a minimalist news aggregator known as Miniflux. We’ll implement this solution on a Raspberry Pi 4 Model B with 4GB of RAM, running the Raspberry Pi OS Lite.
This blog post is structured into four sections: “Prerequisites” which covers requirements that must be met before we can successfully install and use, “Installation” providing a step-by-step guide for implementation, “Miniflux Usage”, and “Resources” offering supplementary materials. These sections simplify your path from prerequisites to installation, offering valuable resources to aid your exploration.
Prerequisites
Miniflux feed reader provides multiple installation methods, including package installation, Docker container deployment, and manual setup. In our case, we selected Docker due to its user-friendly configuration.
If you’ve previously installed Docker packages through unofficial distributions in APT, it’s necessary to remove these packages before installing the official Docker Engine version. To do this, execute the following command.
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
To install via the APT repository, begin by configuring the Docker APT repository. Following that, you can install and update Docker directly from the repository.
- Set up Docker’s APT repository.
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/raspbian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/raspbian \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
- Install the Docker packages.
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
To grant the current user permission to execute docker and, consequently, initiate containers, you need to add them in the docker user group. To make the group change effective, you can either log out and log back in or use the su command.
sudo usermod -aG docker $USER && su $USER
Installation
We will create directory miniflux
directory within our home directory using the following command.
mkdir ~/miniflux
You can find a Docker Compose example file on Miniflux’s website, and additional examples featuring Traefik and Caddy are available in the project’s GitHub repository. For our demonstration, we will use the basic.yml
from the mentioned repository. To download this file, execute the following command.
wget https://raw.githubusercontent.com/miniflux/v2/main/contrib/docker-compose/basic.yml -O ~/miniflux/docker-compose.yml
Remember to customize the default password and make any other necessary configurations within the downloaded Docker Compose file, which we have named docker-compose.yml
in the previous command.
Running the subsequent command will fetch the Docker containers for Miniflux.
docker compose -f ~/miniflux/docker-compose.yml -p miniflux pull
With the following command we will start Miniflux Docker containers.
docker compose -f ~/miniflux/docker-compose.yml -p miniflux up -d
To obtain a continuous stream of log output from all services and verify a successful build, run the following command.
docker compose -f ~/miniflux/docker-compose.yml -p miniflux logs -f
Miniflux Usage
You can now access your Miniflux instance at the endpoint determined by your configuration in the ~/miniflux/docker-compose.yml
file . For instance, in my setup, I have configured it to operate on port 8080. Thus, visiting http://192.168.100:8080/
will take me to the login portal. Once you input valid user credentials, you will be shown the minimalist Miniflux interface.
For a comprehensive user guide covering interface usage, available keyboard shortcuts, filter, rewrite and scraper rules as well as third-party applicationsyou can refer to the official Miniflux website.
Resources
- Miniflux Website: https://miniflux.app/index.html
- Miniflux Repository: https://github.com/miniflux
- Docker Engine Installation on Raspberry Pi: https://docs.docker.com/engine/install/raspberry-pi-os/
- Docker Compose Example: https://miniflux.app/docs/dacker.html
- More Docker Compose Examples: https://github.com/miniflux/v2/tree/main/contrib/docker-compose
- Miniflux Interface Usage: https://miniflux.app/docs/ui.html
- Miniflux Keyboard Shortcuts: https://miniflux.app/docs/keyboard_shortcuts.html
- Miniflux Filter, Rewrite and Scraper Rules: https://miniflux.app/docs/rules.html
- Miniflux Support for Third-Party Applications: https://miniflux.app/docs/apps.html
Thank you for reading, and if you like this post, please consider adding my website to your RSS feed.