Skip to content

TechSquidTV/Tuvix-RSS

Repository files navigation

Tuvix

Take back your feed.

License: AGPL v3 codecov

Tuvix is a modern RSS aggregator that helps you follow all your favorite blogs, podcasts, and news sources in one place. It's not a social network, it's not an algorithmic feed, it's just old-fashioned RSS.

tuvix_promo.mp4

Hosted

Head over to tuvix.app to create your free account and start reading!

Immediately begin subscribing to your favorite feeds. Remember, you can always export your data to OPML and migrate to your own self-hosted instance, or any other RSS reader.

Browser Extension

Install the Tuvix Tricorder Extension for Chrome and Firefox to easily discover and subscribe to RSS feeds on any website with one click.


πŸš€ Deployment

Tuvix supports two deployment methods:

  • 🐳 Docker Compose - Self-hosted with containers
  • ☁️ Cloudflare - Serverless edge deployment (Workers + Pages)

See the Deployment Guide for detailed instructions.

πŸ“¦ Docker Images Coming Soon: Pre-built container images will be published to a container registry once the project reaches a stable release. For now, use the Dockerfiles and docker-compose scripts included in the repository.

Quick Start (Docker)

⚠️ Use a Release: The main branch contains active development and is not guaranteed to be stable. Always use the latest release for self-hosting.

Clone the repository and checkout the latest release:

git clone https://github.com/TechSquidTV/Tuvix-RSS.git
cd Tuvix-RSS
# Checkout the latest release tag (v*)
git checkout $(git tag -l 'v*' | sort -V | tail -n1)

Configure and run:

cp env.example .env
# Edit .env and configure:
# 1. BETTER_AUTH_SECRET (generate: openssl rand -base64 32)
# 2. ADMIN_USERNAME, ADMIN_EMAIL, ADMIN_PASSWORD (for your admin user)
docker compose up -d

Visit http://localhost:5173 and log in with your admin credentials.

Development Setup

Prerequisites: Node.js 20+ (with pnpm), SQLite3

pnpm install
cp env.example .env
# Edit .env and set BETTER_AUTH_SECRET, ADMIN_* credentials
pnpm run db:migrate
pnpm run dev

App: http://localhost:5173 | API: http://localhost:3001


πŸ‘¨β€πŸ’» Development

Git Workflow

Tuvix uses a trunk-based development workflow:

  • main - Protected branch, all development happens here
  • Feature branches - Created from main, merged back via PR

Development Process:

  1. Create feature branches from main: git checkout -b feature/my-feature
  2. Open PRs targeting main for review and CI checks
  3. After approval, changes merge to main and auto-deploy to staging
  4. Production deployments happen via manual promotion or release tags

Configuration

Required:

  • BETTER_AUTH_SECRET - Generate with: openssl rand -base64 32
  • ADMIN_USERNAME, ADMIN_EMAIL, ADMIN_PASSWORD - Your admin credentials

Optional: DATABASE_PATH, PORT, CORS_ORIGIN, ALLOW_FIRST_USER_ADMIN

See env.example for all options and Deployment Guide for details.


πŸ“š Documentation


🀝 Contributing

We welcome contributions from the community! Whether you're fixing bugs, adding features, or improving documentation, your help is appreciated.

Quick Start for Contributors

  1. Fork the repository
  2. Create your feature branch from main: git checkout -b feature/amazing-feature
  3. Make your changes and test them
  4. Commit using conventional commits: git commit -m 'feat: add amazing feature'
  5. Push to your fork: git push origin feature/amazing-feature
  6. Open a Pull Request targeting the main branch

Before Contributing

Good First Issues

New to the project? Look for issues tagged with good first issue to get started!

Development Setup

git clone https://github.com/YOUR_USERNAME/Tuvix-RSS.git
cd Tuvix-RSS
pnpm install
cp env.example .env
# Edit .env and configure BETTER_AUTH_SECRET and ADMIN_* credentials
pnpm run db:migrate
pnpm run dev

See the Contributing Guide and developer documentation for more details.


πŸ“„ License

AGPLv3 - see the LICENSE file for details.


Made with ❀️ by the TechSquidTV community