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/datafor persistence. The image is published to GHCR and supportslatest/maintags 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:
/datavolume 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
.envfile control all settings; no complex config files are required. - Documentation: The README, CONTRIBUTING guide, and example
.envfile 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
- Personal Knowledge Base: Run Fusion on a home server to aggregate tech blogs, newsletters, and documentation feeds for quick reference.
- Team Collaboration: Deploy on a private cloud to share curated news streams, leveraging bookmarks and tags for team discussions.
- Microservice Integration: Use Fusion’s webhook API to feed new items into a CI pipeline, triggering downstream processes such as content syndication or analytics.
- 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
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps

YunoHost
Self-hosted server platform for easy app management
asciinema
Record and share terminal sessions the lightweight way
Schoco
Online Java IDE for classroom coding assignments
BookLogr
Track, rate, and share your personal book library
LimeSurvey
Open‑source survey platform for global, GDPR‑compliant data collection
Conduit
Lightweight Matrix server for fast, secure chats
