MCPSERV.CLUB
Fusion

Fusion

Self-Hosted

Lightweight RSS aggregator and reader

Active(75)
1.8kstars
0views
Updated Aug 16, 2025
Fusion screenshot

Overview

Discover what makes Fusion powerful

Fusion is a lightweight, self‑hosted RSS/Atom/JSON feed aggregator written in **Go**. Its core purpose is to provide a fast, low‑resource web interface for consuming feeds while exposing a clean API surface that developers can extend or embed in larger systems. The application is intentionally minimal: it ships as a single binary, relies on **SQLite** for persistence, and can be deployed via Docker or any container‑friendly environment. With a footprint of roughly 80 MB RAM and a single HTTP port, Fusion is ideal for edge deployments, personal cloud stacks, or lightweight microservices that need feed ingestion capabilities.

Backend

Frontend

Database

Containerization

Overview

Fusion is a lightweight, self‑hosted RSS/Atom/JSON feed aggregator written in Go. Its core purpose is to provide a fast, low‑resource web interface for consuming feeds while exposing a clean API surface that developers can extend or embed in larger systems. The application is intentionally minimal: it ships as a single binary, relies on SQLite for persistence, and can be deployed via Docker or any container‑friendly environment. With a footprint of roughly 80 MB RAM and a single HTTP port, Fusion is ideal for edge deployments, personal cloud stacks, or lightweight microservices that need feed ingestion capabilities.

Technical Stack

  • Backend: Go 1.24+, Echo for routing, GORM as the ORM layer, and gofeed for parsing RSS/Atom/JSON feeds. The use of Go’s standard library and minimal dependencies keeps the binary lean.
  • Frontend: SvelteKit with Tailwind CSS (via daisyUI) delivers a responsive, dark‑mode capable UI. The SPA communicates with the backend over RESTful endpoints and WebSocket streams for real‑time updates.
  • Database: SQLite, bundled with the binary, eliminates external DB dependencies. The schema is versioned through GORM migrations, allowing seamless upgrades.
  • Containerization: A Dockerfile exposes a single CMD ["fusion"] entrypoint, mounting /data for persistence. The image is published to GHCR and supports latest/main tags for stable/release‑candidate builds.

Core Capabilities & APIs

Fusion exposes a comprehensive REST API that mirrors its UI features:

  • Feed Management: CRUD operations for subscriptions, including auto‑sniffing of feed URLs and OPML import/export.
  • Item Retrieval: Paginated lists, search by keyword or tag, and marking items as read/unread.
  • Bookmarking & Tagging: Persist user‑defined tags and bookmarks for quick access.
  • Authentication: Basic password protection via environment variable (PASSWORD) or HTTP header, with optional JWT support for advanced use cases.
  • Webhooks: Developers can register callbacks to be notified on new items, enabling integration with messaging platforms or custom pipelines.
  • PWA & Offline: The frontend registers a service worker, allowing offline read and background sync.

The API is documented in an OpenAPI spec generated from Echo handlers, facilitating client generation and third‑party integration.

Deployment & Infrastructure

Fusion’s single‑binary design means it can run on any OS with a Go runtime or within a Docker container. Key deployment considerations:

  • Memory & CPU: 80 MB RAM, minimal CPU usage; suitable for Raspberry Pi or cloud droplets.
  • Scalability: While SQLite limits horizontal scaling, Fusion can be deployed behind a reverse proxy with sticky sessions or replicated via read‑only replicas for high availability.
  • Persistence: /data volume holds the SQLite file, OPML exports, and any user‑generated assets. Backing this with a cloud storage bucket or NAS ensures durability.
  • CI/CD: The repository includes scripts for building and publishing Docker images; developers can integrate Fusion into GitHub Actions or other pipelines with ease.

Integration & Extensibility

Fusion is designed to be a plug‑in point:

  • Plugin System: Although not yet fully exposed, the Go codebase allows developers to fork and add middleware or custom routes without modifying the core.
  • Webhook & API Hooks: External services can subscribe to feed updates, enabling workflows such as sending new items to Slack or storing them in a custom database.
  • Custom Frontend: The SvelteKit front‑end can be replaced or extended by consuming the same API, allowing developers to build mobile apps or integrate with other UI frameworks.
  • Internationalization: Built‑in i18n support means the UI can be localized for different audiences, useful in multi‑tenant deployments.

Developer Experience

  • Configuration: Environment variables or a .env file control all settings; no complex config files are required.
  • Documentation: The README, CONTRIBUTING guide, and example .env file provide clear onboarding paths. API docs are auto‑generated.
  • Community & Support: Active GitHub discussions, a growing list of one‑click deployments (Fly.io, Zeabur, Railway), and open issues make it straightforward to seek help or propose features.
  • Extensibility: The modular Go architecture and SvelteKit front‑end encourage contributions; the repo already includes scripts for building, linting, and testing.

Use Cases

  1. Personal Knowledge Base: Run Fusion on a home server to aggregate tech blogs, newsletters, and documentation feeds for quick reference.
  2. Team Collaboration: Deploy on a private cloud to share curated news streams, leveraging bookmarks and tags for team discussions.
  3. Microservice Integration: Use Fusion’s webhook API to feed new items into a CI pipeline, triggering downstream processes such as content syndication or analytics.
  4. Embedded in a CMS: Expose Fusion’s API from within a larger Go or Node.js application, providing feed aggregation without reinventing the wheel.

Advantages Over Alternatives

  • Performance: Go’s compiled nature and SQLite storage keep latency low and memory usage minimal compared to Node.js or Python‑based aggregators.
  • **Simp

Open SourceReady to get started?

Join the community and start self-hosting Fusion today

Weekly Views

Loading...
Support Us

Featured Project

$30/month

Get maximum visibility with featured placement and special badges

Repository Health

Loading health data...

Information

Category
other
License
MIT
Stars
1.8k
Technical Specs
Pricing
Open Source
Database
SQLite
Docker
Official
Min RAM
256MB
Supported OS
LinuxDocker
Author
0x2E
0x2E
Last Updated
Aug 16, 2025