-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Lucas edited this page Oct 16, 2025
·
3 revisions
FY RSS (For You RSS) is a modern, minimalistic RSS feed aggregator that curates and displays articles from your favorite sources — with a focus on speed, personalization, and a clean reading experience.
It consists of:
- fyrss-server — A lightweight Go backend that fetches, parses, and manages RSS feeds and articles.
- fyrss-web — An Angular frontend that provides an intuitive and responsive user interface.
- Feed Management - Add, organize, and manage RSS feeds
- Article Reading - Clean, distraction-free reading experience
- Save Articles - Bookmark articles for later reading
- Reading History - Track your reading progress
- Dark/Light Mode - Adaptive theming with user preference persistence
- Responsive Design - Works perfectly on desktop, tablet, and mobile
┌─────────────────────┐
│ fyrss-web │
│ (Angular + SSR) │
│ → /api requests → │
└─────────┬───────────┘
│
┌─────────▼───────────┐
│ fyrss-server │
│ (Go REST API) │
│ → PostgreSQL → │
└─────────┬───────────┘
│
┌─────────▼───────────┐
│ PostgreSQL │
│ (persistent data) │
└─────────────────────┘
The easiest way to deploy the complete FY RSS stack:
services:
postgres:
image: postgres:17
restart: unless-stopped
environment:
POSTGRES_USER: ${PG_USER}
POSTGRES_PASSWORD: ${PG_PASSWORD}
PGDATA: /data/postgres
volumes:
- db-fyrss:/data/postgres
- ./db-init:/docker-entrypoint-initdb.d:ro
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${PG_USER}"]
interval: 10s
timeout: 5s
retries: 5
networks:
- backend
server:
image: ghcr.io/lucasg04/fyrss-server:latest
restart: unless-stopped
ports:
- "8080:8080"
depends_on:
postgres:
condition: service_healthy
env_file:
- .env
networks:
- backend
- public_net
sysctls:
net.ipv6.conf.all.disable_ipv6: 1
net.ipv6.conf.default.disable_ipv6: 1
web:
image: ghcr.io/lucasg04/fyrss-web:latest
restart: unless-stopped
ports:
- "4000:4000"
environment:
- API_URL=/api
depends_on:
- server
networks:
- public_net
volumes:
db-fyrss:
networks:
backend:
internal: true
public_net:PG_USER=postgres
PG_PASSWORD=changeme
DATABASE_URL=postgres://postgres:changeme@postgres:5432/fyrss?sslmode=disable
PORT=8080
RSS_FEED_INTERVAL_MS=3600000CREATE DATABASE fyrss;docker compose up -dAccess the application: http://localhost:4000