2026-02-12 11:57:42 +01:00

FlowReader

A minimalist, self-hosted RSS/Atom reader focused on simplicity and resource efficiency.

Quick Start

# Start with Docker Compose
docker-compose up --build

# Or use Make
make docker-up

Access the API: http://localhost:8080

Deployment

Unraid

A dedicated configuration file docker-compose.unraid.yaml is provided for Unraid servers. It pulls the pre-built image from GitHub Container Registry.

  1. Copy only docker-compose.unraid.yaml to your Unraid server (e.g. into /mnt/user/appdata/flowreader).
  2. Run with Docker Compose:
docker-compose -f docker-compose.unraid.yaml up -d

Note: The configuration uses /mnt/user/appdata/flowreader/postgres_data for database persistence.

Development

# Run locally (requires Go 1.22+)
make dev

# Run tests
make test

# Lint code
make lint

Project Structure

flowreader/
├── cmd/
│   └── server/          # Application entry point
├── internal/
│   ├── domain/          # Business logic (entities, services)
│   ├── handler/         # HTTP handlers
│   └── repository/      # Database access
├── pkg/                 # Shared utilities
└── migrations/          # SQL migrations

Tech Stack

  • Backend: Go 1.24+ (Chi, pgx, gofeed)
  • Database: PostgreSQL 16
  • Frontend: React 19 + Vite + Tailwind 4 ("Organic Warmth" Theme)
  • Auth: Session-based (HTTP-only cookies)
  • Feeds: RSS/Atom with Favicon extraction

Current Status (MVP)

  • User Management (Register/Login)
  • Feed Management (Add/Import/Refresh)
  • Reader Experience (Grid/List View, infinite scroll)
  • Theme: Organic Warmth (Carbon/Gold/Paper)

Memory Target

Total container footprint: < 150MB RAM

License

MIT

S
Description
No description provided
Readme
4.3 MiB
0 Stars 1 Watchers 0 Forks
Languages
TypeScript 48.1%
Go 43.2%
CSS 4%
HTML 3.5%
Makefile 0.4%
Other 0.8%