Remember when the internet was a vast, uncharted territory? Back in the days where everything was scattered and decentralized. Logging on meant embarking on an exciting quest. Maybe you’d play a game, discover an unheard-of site, or browse a random news group. There was no guiding hand, no curated path, well I remember it, I was part of many forums back then, used ICQ and MSN Messenger to talk to random strangers with similar interests on other parts of the world, it all was uncharted..
Leap into the current digital age, and you’ll find Google at your fingertips for any query, Chromium browsers guiding your way and trying to DRM the web, and social media serving as a multifaceted tool for almost everything. The giant corporations are battling it out at every turn trying to beat each other on whom can get the most telemetry and who has the best AI which can suck out all knowledge from you and that everything seems like a battleground for political discourse. The web of today is swamped with intrusive advertisements, hidden paywalls, and slyly integrated sponsorships within the content.

Either by simple docker commands as shown below For a simple Docker server run the following:
docker run -d \
--name=freshrss \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/London \
-p 80:80 \
-v /path/to/data:/config \
--restart unless-stopped \
lscr.io/linuxserver/freshrss:latest
For full articles support
To get full articles you will want to use fivefilters as a middleman this will fetch the page scoop out the article for you, its not always perfect but we use what we get :)
docker run -d \
--name=full-test-rss \
-p 80:80 \
--restart always \
heussd/fivefilters-full-text-rss:latest
Docker Configuration for FreshRSS and FiveFilters via Docker-Compose
So for the more teck savy if you plan on hosting yours so you get to it from anywhere you can also set it up to have oauth by using traefik as a extra layer of security using any oauth provider, in the example below im using github.
networks:
freshrss:
services:
freshrss:
restart: always
container_name: freshrss
image: lscr.io/linuxserver/freshrss:latest
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Stockholm
volumes:
- /opt/freshrss/data:/config
networks:
- freshrss
deploy:
resources:
limits:
cpus: '2'
memory: 128M
labels:
traefik.enable: true
traefik.docker.network: freshrss
traefik.http.routers.freshrss.rule: 'Host(`freshrss.your-domain.com`)'
traefik.http.routers.freshrss.entrypoints: web-secure
traefik.http.routers.freshrss.tls: true
traefik.http.routers.freshrss.tls.certresolver: letsEncrypt
traefik.http.services.freshrss.loadbalancer.server.port: 80
traefik.http.routers.freshrss.middlewares: freshrss-oauth
traefik.http.middlewares.freshrss-oauth.plugin.github-oauth.apiBaseUrl: https://oauth.your-domain.com
traefik.http.middlewares.freshrss-oauth.plugin.github-oauth.whitelist.logins[0]: your_github_user
fivefilters:
restart: always
container_name: fivefilters
image: heussd/fivefilters-full-text-rss:latest
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Stockholm
networks:
- freshrss
deploy:
resources:
limits:
cpus: '4'
memory: 128M
The internet has come a long way from the unstructured days of the good old days to the ad-infested landscape of today. But a good sense is to grab back what little you can :)
Buy Me a Coffee