mirror of
https://github.com/0x2E/fusion.git
synced 2025-06-07 21:17:07 +09:00
A lightweight, self-hosted friendly RSS reader
![]() * Chore: Create PL translations * Add Polish support to index.ts * Add missing translation Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * CR fixes --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> |
||
---|---|---|
.github | ||
api | ||
assets | ||
auth | ||
cmd/server | ||
conf | ||
frontend | ||
model | ||
pkg | ||
repo | ||
server | ||
service/pull | ||
.dockerignore | ||
.env.example | ||
.gitignore | ||
.goreleaser.yaml | ||
CONTRIBUTING.md | ||
Dockerfile | ||
fly.toml | ||
go.mod | ||
go.sum | ||
LICENSE | ||
README.md | ||
scripts.sh | ||
zeabur.yml |
Fusion
A lightweight RSS feed aggregator and reader.
Key features include:
- Group, bookmark, search, automatic feed sniffing, OPML file import/export
- Support for RSS, Atom, and JSON feed types
- Responsive, light/dark mode, PWA, Keyboard shortcut support
- Lightweight and self-hosted friendly
- Built with Golang and SQLite, deploy with a single binary
- Pre-built Docker image
- Uses about 80MB of memory
- Internationalization (i18n): English, Chinese, German, French, Spanish, Russian, Portuguese, and Swedish
Installation
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.
One-Click Deployment
Maintained by community:
Build from source
Check out the "Contributing" 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.
Contributing
Contributions are welcome! Before contributing, please read the Contributing Guidelines.
- Prepare environment: Go 1.24+, Node.js 23+ (and pnpm).
- Check out the commands in
scripts.sh
.
For example:
./scripts.sh build