Windows Home Server — Part 19: Replacing Paid Read-it-Later & RSS Services (Pocket, Feedly Premium)
Using paid services like Feedly Premium or Pocket to aggregate news feeds and save articles for offline reading can get expensive when you hit their subscription paywalls.
We can run our own fast, zero-overhead RSS aggregator natively on Windows for free. We will install Miniflux—an extremely minimalist, high-speed RSS reader written in Go. It compiles into a single executable, integrates with our local PostgreSQL database, consumes less than 15 MB of RAM, and supports the Fever and Miniflux APIs to sync with free mobile reader apps.
1. Directory and Database Setup
Miniflux requires a PostgreSQL database to store feeds, user accounts, and article states.
Step 1: Create the Database
Open your PostgreSQL terminal (psql.exe) or pgAdmin and run:
CREATE DATABASE miniflux;
CREATE USER miniflux_user WITH PASSWORD 'secureDBPassword';
GRANT ALL PRIVILEGES ON DATABASE miniflux TO miniflux_user;
Step 2: Download Miniflux
Create the configuration folder and download the Windows binary from the official releases:
New-Item -ItemType Directory -Force -Path "C:\Server\miniflux"
# Download binary
Invoke-WebRequest -Uri "https://github.com/miniflux/v2/releases/download/2.1.1/miniflux-windows-amd64.exe" -OutFile "C:\Server\bin\miniflux.exe"
Verify it runs:
C:\Server\bin\miniflux.exe --version
2. Initializing and running Miniflux
Miniflux is configured using environment variables. We will define these in a PowerShell script.
Step 1: Create the Startup Script
Create C:\Server\miniflux\start-miniflux.ps1:
# Configurations
$env:DATABASE_URL = "postgres://miniflux_user:secureDBPassword@localhost:5432/miniflux?sslmode=disable"
$env:LISTEN_ADDR = "127.0.0.1:8088"
$env:RUN_MIGRATIONS = "1" # Auto-apply database schemas on start
# Set up the initial administrator user (uncomment for the first run, then disable)
$env:CREATE_ADMIN = "1"
$env:ADMIN_USERNAME = "adminUsername"
$env:ADMIN_PASSWORD = "adminSecurePassword"
# Launch Miniflux
C:\Server\bin\miniflux.exe
Step 2: Wrap Miniflux in NSSM
Create the service:
nssm install Miniflux powershell.exe "-ExecutionPolicy Bypass -File C:\Server\miniflux\start-miniflux.ps1"
nssm set Miniflux AppDirectory "C:\Server\miniflux"
nssm start Miniflux
Miniflux will apply database migrations and begin listening on local port 8088.
3. Caddy Ingress Routing
Open C:\Server\caddy\Caddyfile and assign a subdomain:
reader.yourdomain.com {
reverse_proxy localhost:8088
}
Restart Caddy:
nssm restart Caddy
4. Syncing with Mobile Applications
Miniflux has built-in support for the Fever API protocol, letting you connect standard mobile news clients (like Reeder or NetNewsWire on iOS, or FeedMe on Android) to your server for free:
- Log into your Miniflux web interface at
https://reader.yourdomain.com. - Go to Settings → Integrations.
- Check Enable Fever API.
- Set a dedicated Fever Password.
- Open your mobile app, select Fever as the account type, and enter:
- Server URL:
https://reader.yourdomain.com/fever/ - Username: Your Miniflux username.
- Password: The Fever password you set in step 4.
- Server URL:
By running Miniflux natively on your Windows server, you get a clean, high-performance RSS reader that syncs across all your devices for free.
In the next part, we will review our Total Cost of Ownership (TCO) and perform a comprehensive audit.
Proceed to Part 20: TCO Financial Audit, Performance Audit, and Hybrid Architecture →
Comments
Comments are powered by giscus. Set
PUBLIC_GISCUS_REPO_IDandPUBLIC_GISCUS_CATEGORY_IDin your environment to enable them.