A self-hosted RSS reader and personal knowledge management tool.
Glean (拾灵) helps information-heavy consumers efficiently manage their reading through intelligent RSS aggregation.
- 📰 RSS Subscription - Subscribe and organize RSS/Atom feeds with OPML import/export
- 📚 Smart Reading - Clean reading experience with content filtering
- 🔖 Read Later - Save articles for later reading with auto-cleanup
- 📁 Folders & Tags - Multi-level folders and tags for organization
- ⭐ Bookmarks - Save articles from feeds or external URLs
- 🔧 Background Sync - Automatic feed updates every 15 minutes
- 🔒 Self-hosted - Full data ownership with Docker deployment
- 🎨 Modern UI - Beautiful, responsive warm dark theme interface
- 👨💼 Admin Dashboard - User management and system monitoring
- 🧠 Smart Recommendations - AI-powered preference learning and article scoring
- ⚙️ Rule Engine - Automated processing with Jinja2-style conditions
- 🤖 AI Features - Summary generation, auto-tagging, keyword extraction (BYOK)
- 📄 Full Content Fetch - Fetch complete article content for RSS summaries
- 🔌 Chrome Extension - One-click bookmarking from browser
- 📱 Mobile PWA - Progressive Web App for mobile devices
# Download and start Glean
curl -fsSL https://raw.githubusercontent.com/LesliLeung/glean/main/docker-compose.yml -o docker-compose.yml
docker compose up -d
# Access at http://localhostThat's it! Open http://localhost to start using Glean.
For additional admin features (user management, statistics):
# Download full deployment config
curl -fsSL https://raw.githubusercontent.com/LesliLeung/glean/main/docker-compose.full.yml -o docker-compose.yml
# Create admin account on first startup
CREATE_ADMIN=true docker compose up -d
# Check logs for admin credentials (save them!)
docker compose logs backend | grep -A5 "Admin Account Created"
# Access:
# - Web App: http://localhost
# - Admin Dashboard: http://localhost:3001# Generate random password
docker exec -it glean-backend /app/scripts/create-admin-docker.sh
# Or specify credentials
docker exec -it glean-backend /app/scripts/create-admin-docker.sh myusername MySecurePass123!Copy .env.example to .env and customize:
curl -fsSL https://raw.githubusercontent.com/LesliLeung/glean/main/.env.example -o .envKey settings:
| Variable | Description | Default |
|---|---|---|
SECRET_KEY |
JWT signing key | Change in production! |
POSTGRES_PASSWORD |
Database password | glean |
WEB_PORT |
Web interface port | 80 |
ADMIN_PORT |
Admin dashboard port | 3001 |
Pre-built images are available on GitHub Container Registry:
ghcr.io/leslieleung/glean-backend:latest- API server & workerghcr.io/leslieleung/glean-web:latest- Web frontendghcr.io/leslieleung/glean-admin:latest- Admin dashboard
Supported architectures: linux/amd64, linux/arm64
| Deployment | Description | Command |
|---|---|---|
| Lite | Web app only (no admin) | docker compose up -d |
| Full | Web + Admin dashboard | docker compose -f docker-compose.full.yml up -d |
Backend:
- Python 3.11+ / FastAPI / SQLAlchemy 2.0
- PostgreSQL / Redis / arq (task queue)
Frontend:
- React 18 / TypeScript / Vite
- Tailwind CSS / Zustand / TanStack Query
See DEVELOPMENT.md for complete development setup instructions.
Quick start:
# Clone and setup
git clone https://github.com/LesliLeung/glean.git
cd glean
npm install
# Start infrastructure
make up
# Initialize database (first time only)
make db-upgrade
# Start all services
make dev-all
# Access:
# - Web: http://localhost:3000
# - Admin: http://localhost:3001
# - API Docs: http://localhost:8000/api/docs| Phase | Status | Features |
|---|---|---|
| Phase 1: MVP | ✅ Done | User system, RSS subscription, reader, admin dashboard |
| Phase 2: Organization | ✅ Done | Bookmarks, folders, tags, read later |
| Phase 3: Preferences | 🚧 WIP | Embedding pipeline, preference learning, smart recommendations |
| Phase 4: Rules | 📋 Planned | Rule engine, Jinja2 conditions, automated actions |
| Phase 5: AI | 📋 Planned | AI summaries, auto-tagging, keyword extraction, BYOK support |
| Phase 6: Extensions | 📋 Planned | Chrome extension, PWA, web snapshots |
See Product Requirements for detailed feature specifications.
- Development Guide - Set up your development environment
- Deployment Guide - Production deployment details
Contributions are welcome! Please read our Development Guide first.
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests and linting
- Submit a Pull Request
This project is licensed under the AGPL-3.0 License - see the LICENSE file for details.