1
0
Fork 1
mirror of https://github.com/0x2E/fusion.git synced 2025-06-08 05:27:15 +09:00
A lightweight, self-hosted friendly RSS reader
Find a file
2025-03-24 20:02:54 +08:00
.github chore: update Go version to 1.24 2025-03-14 11:19:51 +08:00
api Fix a session checking bug 2025-01-19 16:08:53 -05:00
assets refactor: update color scheme (#91) 2025-03-19 13:04:20 +08:00
auth Check passwords based on hashes rather than plaintext 2025-01-12 11:31:01 -05:00
cmd/server Check passwords based on hashes rather than plaintext 2025-01-12 11:31:01 -05:00
conf Check passwords based on hashes rather than plaintext 2025-01-12 11:31:01 -05:00
frontend refactor: replace invalidateAll with invalidate for more granular cache control (#111) 2025-03-24 20:02:54 +08:00
model Recover after feed fetch failure with exponential backoff (#108) 2025-03-24 11:11:18 +08:00
pkg Refactor the httpx package to facilitate testing (#107) 2025-03-24 11:04:29 +08:00
repo Rename Item.Creates to Item.Insert 2025-02-24 20:42:14 -05:00
server Move RSS parsing code from pull to a dedicated package (#96) 2025-03-21 21:13:20 +08:00
service Recover after feed fetch failure with exponential backoff (#108) 2025-03-24 11:11:18 +08:00
.dockerignore fix: add the missing .git/ for fe build 2024-03-17 21:00:09 +08:00
.env.example Rename .env to .env.example 2024-12-23 21:02:15 -05:00
.gitignore Rename .env to .env.example 2024-12-23 21:02:15 -05:00
.goreleaser.yaml chore: disable goreleaser's changelog generation 2025-03-15 11:12:37 +08:00
Dockerfile chore: update Go version to 1.24 2025-03-14 11:19:51 +08:00
go.mod chore: update Go version to 1.24 2025-03-14 11:19:51 +08:00
go.sum chore: update Go version to 1.24 2025-03-14 11:19:51 +08:00
LICENSE Initial commit 2024-03-06 16:43:43 +08:00
README.md doc: add one-click deployment for Railway and update installation section (#77) 2025-03-16 14:54:47 +08:00
scripts.sh chore: switch to pnpm 2025-03-12 19:55:11 +08:00

Fusion

A lightweight RSS feed aggregator and reader.

screenshot light

screenshot dark

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
docker run -it -d -p 8080:8080 \
  -v $(pwd)/fusion:/data \
  -e PASSWORD="rss123456" \
  rook1e404/fusion:latest
  • Docker 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.

One-Click Deployment

Maintained by community:

Deploy on Railway

Build from source

Check out the Development section.

Configuration

All configuration items can be found here.

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:

./scripts.sh build

Credits