https://github.com/0x2E/fusion
A lightweight, self-hosted friendly RSS aggregator and reader
https://github.com/0x2E/fusion
rss rss-aggregator rss-reader self-hosted
Last synced: 3 months ago
JSON representation
A lightweight, self-hosted friendly RSS aggregator and reader
- Host: GitHub
- URL: https://github.com/0x2E/fusion
- Owner: 0x2E
- License: mit
- Created: 2024-03-06T08:43:43.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-19T05:05:05.000Z (3 months ago)
- Last Synced: 2025-03-19T06:21:48.254Z (3 months ago)
- Topics: rss, rss-aggregator, rss-reader, self-hosted
- Language: Go
- Homepage:
- Size: 1.93 MB
- Stars: 1,283
- Watchers: 9
- Forks: 38
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-homelab - Fusion - hosted friendly RSS reader | (Apps / RSS)
- my-awesome - 0x2E/fusion - aggregator,rss-reader,self-hosted pushed_at:2025-05 star:1.7k fork:0.1k A lightweight, self-hosted friendly RSS reader (Go)
README
# Fusion
A lightweight RSS feed aggregator and reader.


Key features include:
- Group, Bookmark, Search, Sniff feeds automatically
- Import/Export OPML file
- Support RSS, Atom, JSON types feed
- Responsive, Light/Dark mode, PWA
- Lightweight, Self-hosted friendly
- Built with Golang and SQLite, Deploy with a single binary
- Pre-built Docker image
- Uses about 80MB of memory## Installation
### Docker
- Docker CLI
```shell
docker run -it -d -p 8080:8080 \
-v $(pwd)/fusion:/data \
-e PASSWORD="rss123456" \
rook1e404/fusion:latest
```- Docker Compose
```compose
version: '3'
services:
fusion:
image: rook1e404/fusion:latest
ports:
- '127.0.0.1:8080:8080'
environment:
- PASSWORD=rss123456
restart: "unless-stopped"
volumes:
# Change `./data` to where you want the files stored
- ./data:/data
```### Pre-built binary
Download from [Releases](https://github.com/0x2E/fusion/releases).
### One-Click Deployment
Maintained by community:
[](https://railway.com/template/XSPFK0?referralCode=milo)
### Build from source
Check out the Development section.
## Configuration
All configuration items can be found [here](./.env.example).
Fusion can be configured in many ways:
- System environment variables, such as those set by `export PASSWORD=123abc`.
- Create a `.env` file in the same directory as the binary. Note that values in `.env` file can be overwritten by system environment variables.## Development
- Prepare environment: Go 1.24+, Node.js 23+ (and pnpm).
- Check out the commands in `scripts.sh`.For example:
```shell
./scripts.sh build
```## Credits
- Front-end is built with: [Sveltekit](https://github.com/sveltejs/kit), [daisyUI](https://github.com/saadeghi/daisyui)
- Back-end is built with: [Echo](https://github.com/labstack/echo), [GORM](https://github.com/go-gorm/gorm)
- Parsing feed with [gofeed](https://github.com/mmcdole/gofeed)