A lightweight RSS feed aggregator and reader.
- Group, bookmark, search, automatic feed sniffing, OPML file import/export
- Supports RSS, Atom, and JSON feed types
- Responsive, dark mode, PWA, keyboard shortcuts
- Lightweight and self-hosted friendly
- Built with Golang and SQLite; deploys with a single binary or a Docker container
- Uses about 80MB of memory
- Internationalization (i18n): English, Chinese, German, French, Spanish, Russian, Portuguese, and Swedish
Docker
Use
latest
tag for the latest release version.Use
main
tag for the latest development version.
- Docker CLI
docker run -it -d -p 8080:8080 \
-v $(pwd)/fusion:/data \
-e PASSWORD="fusion" \
ghcr.io/0x2e/fusion:latest
- Docker Compose
version: "3"
services:
fusion:
image: ghcr.io/0x2e/fusion:latest
ports:
- "127.0.0.1:8080:8080"
environment:
- PASSWORD=fusion
restart: "unless-stopped"
volumes:
# Change `./data` to where you want the files stored
- ./data:/data
Pre-built binary
Download from Releases.
Build from source
Check out the "Contributing" section.
All configuration items can be found in .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.
Contributions are welcome! Before contributing, please read the Contributing Guidelines.
- Prepare environment: Go 1.24+, Node.js 24+ (and pnpm).
- Check out the commands in
scripts.sh
.
For example:
./scripts.sh build