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
latesttag for the latest release version.Use
maintag 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:/dataPre-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 
.envfile in the same directory as the binary. Note that values in.envfile 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