<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/my-morning-news-routine-used-to-be-five-apps-showing-the-same-story-until-i-self-hosted-muckscrape-drqlhhqzh" -->

---
title: My morning news routine used to be five apps showing the...
description: A journalist frustrated by duplicate news coverage across five apps decided to self-host MuckScraper, an open-source news aggregator with story clustering,...
canonical: https://daily.dev/posts/my-morning-news-routine-used-to-be-five-apps-showing-the-same-story-until-i-self-hosted-muckscrape-drqlhhqzh
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: My morning news routine used to be five apps showing the same story — until I self-hosted MuckScraper | daily.dev
og:description: A journalist frustrated by duplicate news coverage across five apps decided to self-host MuckScraper, an open-source news aggregator with story clustering,...
og:url: https://daily.dev/posts/my-morning-news-routine-used-to-be-five-apps-showing-the-same-story-until-i-self-hosted-muckscrape-drqlhhqzh
og:image: https://api.daily.dev/og/posts/DrQLhhqZh.png
og:image:alt: My morning news routine used to be five apps showing the same story — until I self-hosted MuckScraper
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# My morning news routine used to be five apps showing the same story — until I self-hosted MuckScraper

**[XDA Developers](https://daily.dev/sources/xda-developers)** · 8 min read · 3 upvotes · 0 comments

## Summary

A journalist frustrated by duplicate news coverage across five apps decided to self-host MuckScraper, an open-source news aggregator with story clustering, bias ratings, and local AI summarization via Ollama. Setup on a resource-constrained Dell laptop running CPU-only inference with qwen2.5:1.5b required several days of configuration — fixing memory exhaustion from Ollama, replacing US-politics-centric defaults with personal RSS feeds, and working around API bugs. After two weeks, the result is a single personalized dashboard replacing five apps, though noise and irrelevant clustering remain issues the author plans to address by contributing to or forking the project.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.xda-developers.com/news-routine-used-apps-showing-same-story-until-self-hosted-muckscraper>

## Questions this post answers

### What is MuckScraper and what does it do?

MuckScraper is an open-source, self-hosted news aggregator that pulls from chosen RSS feeds and APIs, clusters duplicate coverage of the same story, applies bias ratings, and generates AI summaries using a local LLM. Its tech stack includes Python for the backend, PostgreSQL for the database, Ollama for local LLM inference, Meilisearch for search, and Docker for deployment.

_Anyone tired of duplicate headlines can explore self-hosted aggregator setups like this through daily.dev._

### Can you run a local LLM for news summarization on a CPU-only server with limited RAM?

Yes, but it requires careful tuning. Running qwen2.5:1.5b via Ollama on a CPU-only Dell Latitude 7480 with roughly 11.6GB of RAM caused memory to hit 100% with swap exhausted, since Ollama alone consumed 4.4GB while over 20 other containers were already running. Reducing the context length and lowering the keep-alive duration brought resource usage back under control.

_Developers sizing local LLM workloads for modest hardware can compare real setups like this on daily.dev._

### Why does MuckScraper default to US politics news out of the box?

MuckScraper ships with default RSS feeds, sidebar categories, and topics centered on Congress, the White House, and US politics, making it feel US-centric for anyone outside that audience. Getting a personalized feed around interests like self-hosting, homelab, local AI, and consumer tech required manually replacing the default feeds and fixing quirks like GNews rejecting hyphenated search terms and Reddit and GitHub being blocklisted by default.

_Readers customizing self-hosted aggregators can track configuration gotchas like these on daily.dev._

## Similar posts on daily.dev

- [Building a local LLM news brief taught me my real problem wasn't the sources, it was the apps](https://daily.dev/posts/building-a-local-llm-news-brief-taught-me-my-real-problem-wasn-t-the-sources-it-was-the-apps-eggpshxlp) · XDA Developers · 0 upvotes · 0 comments

---

Tags: [#docker](https://daily.dev/tags/docker), [#self-hosting](https://daily.dev/tags/self-hosting), [#local-ai](https://daily.dev/tags/local-ai), [#ollama](https://daily.dev/tags/ollama)

[View this post on daily.dev](https://daily.dev/posts/my-morning-news-routine-used-to-be-five-apps-showing-the-same-story-until-i-self-hosted-muckscrape-drqlhhqzh)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"My morning news routine used to be five apps showing the same story — until I self-hosted MuckScraper","url":"https://daily.dev/posts/my-morning-news-routine-used-to-be-five-apps-showing-the-same-story-until-i-self-hosted-muckscrape-drqlhhqzh","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/my-morning-news-routine-used-to-be-five-apps-showing-the-same-story-until-i-self-hosted-muckscrape-drqlhhqzh"},"datePublished":"2026-07-18T21:01:13.719Z","dateModified":"2026-09-14T09:28:24.534Z","description":"A journalist frustrated by duplicate news coverage across five apps decided to self-host MuckScraper, an open-source news aggregator with story clustering,...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/4bb6a4c048ee7d3384f11ef3f5593352?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/4bb6a4c048ee7d3384f11ef3f5593352?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"XDA Developers","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"XDA Developers","logo":"https://media.daily.dev/image/upload/s--kCg6yyAP--/f_auto,q_auto/v1774964407/logos/xda-developers?_a=BAMAMiWQ0","url":"https://daily.dev/sources/xda-developers"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/my-morning-news-routine-used-to-be-five-apps-showing-the-same-story-until-i-self-hosted-muckscrape-drqlhhqzh","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":3},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"docker,self-hosting,local-ai,ollama","timeRequired":"PT8M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"XDA Developers","item":"https://daily.dev/sources/xda-developers"},{"@type":"ListItem","position":3,"name":"My morning news routine used to be five apps showing the same story — until I self-hosted MuckScraper"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/my-morning-news-routine-used-to-be-five-apps-showing-the-same-story-until-i-self-hosted-muckscrape-drqlhhqzh#faq","mainEntity":[{"@type":"Question","name":"What is MuckScraper and what does it do?","acceptedAnswer":{"@type":"Answer","text":"MuckScraper is an open-source, self-hosted news aggregator that pulls from chosen RSS feeds and APIs, clusters duplicate coverage of the same story, applies bias ratings, and generates AI summaries using a local LLM. Its tech stack includes Python for the backend, PostgreSQL for the database, Ollama for local LLM inference, Meilisearch for search, and Docker for deployment. Anyone tired of duplicate headlines can explore self-hosted aggregator setups like this through daily.dev."}},{"@type":"Question","name":"Can you run a local LLM for news summarization on a CPU-only server with limited RAM?","acceptedAnswer":{"@type":"Answer","text":"Yes, but it requires careful tuning. Running qwen2.5:1.5b via Ollama on a CPU-only Dell Latitude 7480 with roughly 11.6GB of RAM caused memory to hit 100% with swap exhausted, since Ollama alone consumed 4.4GB while over 20 other containers were already running. Reducing the context length and lowering the keep-alive duration brought resource usage back under control. Developers sizing local LLM workloads for modest hardware can compare real setups like this on daily.dev."}},{"@type":"Question","name":"Why does MuckScraper default to US politics news out of the box?","acceptedAnswer":{"@type":"Answer","text":"MuckScraper ships with default RSS feeds, sidebar categories, and topics centered on Congress, the White House, and US politics, making it feel US-centric for anyone outside that audience. Getting a personalized feed around interests like self-hosting, homelab, local AI, and consumer tech required manually replacing the default feeds and fixing quirks like GNews rejecting hyphenated search terms and Reddit and GitHub being blocklisted by default. Readers customizing self-hosted aggregators can track configuration gotchas like these on daily.dev."}}]}
```

