Skip to content

Deploying Tiny Tiny RSS

Introduction

Tiny Tiny RSS (TT-RSS) is a free and open-source web-based RSS and Atom feed reader. It provides a powerful, feature-rich alternative to commercial feed readers while keeping your reading habits private. With support for keyboard shortcuts, theming, and extensive plugins, TT-RSS offers a complete news aggregation solution.

Key features of Tiny Tiny RSS include:

  • Feed Aggregation: Subscribe to RSS and Atom feeds
  • Multi-User Support: Host for yourself or multiple users
  • Full-Text Extraction: Retrieve full articles from truncated feeds
  • Filters and Labels: Organize articles with rules and tags
  • Keyboard Shortcuts: Efficient navigation for power users
  • Theming: Customize the appearance with themes
  • Plugin System: Extend functionality with plugins
  • Mobile Apps: Android and iOS clients available
  • OPML Import/Export: Migrate subscriptions easily
  • API Access: Integrate with third-party clients
  • Privacy-Focused: No tracking, your data stays yours

This guide walks you through deploying Tiny Tiny RSS on Klutch.sh, configuring the database, and setting up your feed reader.

Why Deploy Tiny Tiny RSS on Klutch.sh

Deploying Tiny Tiny RSS on Klutch.sh provides several advantages:

Always-Updated Feeds: Klutch.sh keeps TT-RSS running 24/7, ensuring feeds are always fresh.

Privacy: Self-hosted means your reading habits aren’t tracked or monetized.

Simplified Deployment: Klutch.sh handles container orchestration automatically.

Persistent Storage: Your subscriptions and articles persist reliably.

HTTPS by Default: Secure access with automatic SSL certificates.

Prerequisites

Before deploying Tiny Tiny RSS on Klutch.sh, ensure you have:

  • A Klutch.sh account
  • A GitHub account with a repository for your configuration
  • PostgreSQL database (recommended) or MySQL
  • Basic familiarity with Docker and RSS concepts

Preparing Your Repository

Create a GitHub repository with the following structure:

ttrss-deploy/
├── Dockerfile
└── .dockerignore

Creating the Dockerfile

FROM cthulhoo/ttrss-fpm-pgsql-static:latest
# Environment configuration
ENV TTRSS_DB_TYPE=pgsql
ENV TTRSS_DB_HOST=${TTRSS_DB_HOST}
ENV TTRSS_DB_USER=${TTRSS_DB_USER}
ENV TTRSS_DB_NAME=${TTRSS_DB_NAME}
ENV TTRSS_DB_PASS=${TTRSS_DB_PASS}
# Application URL
ENV TTRSS_SELF_URL_PATH=${TTRSS_SELF_URL_PATH}
# Session and security
ENV TTRSS_SESSION_COOKIE_LIFETIME=${TTRSS_SESSION_COOKIE_LIFETIME:-86400}
# Feed update settings
ENV TTRSS_FEED_UPDATE_TIMEOUT=${TTRSS_FEED_UPDATE_TIMEOUT:-60}
# The base image includes the default entrypoint

Alternative: Using the All-in-One Image

FROM cthulhoo/ttrss-web-nginx:latest
ENV TTRSS_DB_TYPE=pgsql
ENV TTRSS_DB_HOST=${TTRSS_DB_HOST}
ENV TTRSS_DB_USER=${TTRSS_DB_USER}
ENV TTRSS_DB_NAME=${TTRSS_DB_NAME}
ENV TTRSS_DB_PASS=${TTRSS_DB_PASS}
ENV TTRSS_SELF_URL_PATH=${TTRSS_SELF_URL_PATH}
EXPOSE 8080
# The base image includes the default entrypoint

Environment Variables Reference

VariableRequiredDefaultDescription
TTRSS_DB_TYPENopgsqlDatabase type (pgsql or mysql)
TTRSS_DB_HOSTYes-Database hostname
TTRSS_DB_USERYes-Database username
TTRSS_DB_NAMEYes-Database name
TTRSS_DB_PASSYes-Database password
TTRSS_SELF_URL_PATHYes-Public URL of your TT-RSS instance
TTRSS_SESSION_COOKIE_LIFETIMENo86400Session duration in seconds

Deploying on Klutch.sh

    Set Up PostgreSQL Database

    TT-RSS works best with PostgreSQL. Deploy it on Klutch.sh:

    Mount PathSizePurpose
    /var/lib/postgresql/data10 GBDatabase storage

    Create the TT-RSS database and user.

    Push Your Repository to GitHub

    Commit and push your Dockerfile.

    Create a New Project on Klutch.sh

    Navigate to the Klutch.sh dashboard and create a new project named “ttrss” or “rss-reader”.

    Create the TT-RSS App

    Within your project, create a new app and connect your GitHub repository.

    Configure HTTP Traffic

    Set the traffic type to HTTP with the internal port set to 8080.

    Set Environment Variables

    Configure the required variables:

    VariableValue
    TTRSS_DB_HOSTYour PostgreSQL host
    TTRSS_DB_USERttrss
    TTRSS_DB_NAMEttrss
    TTRSS_DB_PASSYour secure password
    TTRSS_SELF_URL_PATHhttps://your-app-name.klutch.sh/tt-rss/

    Attach Persistent Volumes

    Add persistent storage:

    Mount PathSizePurpose
    /var/www/html/cache2 GBFeed cache
    /var/www/html/plugins.local500 MBCustom plugins
    /var/www/html/themes.local500 MBCustom themes

    Deploy Your Application

    Click Deploy to build and launch Tiny Tiny RSS.

    Complete Initial Setup

    Access TT-RSS and log in with default credentials to complete setup.

Initial Configuration

First Login

Default credentials:

  • Username: admin
  • Password: password

Change the admin password immediately after first login!

Basic Configuration

Configure TT-RSS settings:

  1. Click the gear icon for Preferences
  2. Set your timezone
  3. Configure default view settings
  4. Set up update behavior

Adding Feeds

Subscribe to feeds:

  1. Click “Subscribe to feed”
  2. Enter the feed URL
  3. Choose a category
  4. Click Subscribe

Organizing with Categories

Create categories for organization:

  1. Go to Preferences > Feeds
  2. Create new categories
  3. Drag feeds into categories

Advanced Features

Filters

Create rules to organize articles:

  1. Go to Preferences > Filters
  2. Click “Create filter”
  3. Set conditions (title contains, author, etc.)
  4. Choose actions (label, star, delete)

Labels

Tag articles with custom labels:

  1. Create labels in Preferences
  2. Apply labels manually or via filters
  3. View articles by label

Full-Text Extraction

Get complete articles from truncated feeds:

  1. Install the af_readability plugin
  2. Enable full-text mode per feed
  3. TT-RSS will fetch full article content

Keyboard Shortcuts

Efficient navigation:

ShortcutAction
j/kNext/previous article
n/pNext/previous feed
oOpen article
sStar article
tToggle tags
rMark as read
?Show all shortcuts

Plugins

Installing Plugins

Add functionality with plugins:

  1. Download plugin to plugins.local directory
  2. Enable in Preferences > Plugins
  3. Configure plugin settings
PluginPurpose
af_readabilityFull-text extraction
feedlyFeedly-like theme
af_comicsEnhanced comic support
auth_ldapLDAP authentication
feverFever API compatibility

Fever API

Use with third-party clients:

  1. Enable Fever API plugin
  2. Set Fever password in preferences
  3. Configure client with Fever endpoint

Mobile Access

Android Apps

  • Tiny Tiny RSS (official)
  • FeedMe
  • News+ with TT-RSS plugin

iOS Apps

  • Fiery Feeds
  • Reeder (via Fever API)
  • lire (via Fever API)

Web App

Access the responsive web interface from any mobile browser.

Production Best Practices

Security Recommendations

  • Change Default Password: First priority after install
  • HTTPS Only: Use Klutch.sh’s automatic SSL
  • Regular Updates: Keep TT-RSS updated
  • User Management: Create separate accounts per user
  • Database Security: Use strong database passwords

Performance Optimization

  • Feed Update Interval: Balance freshness vs. load
  • Database Maintenance: Run cleanup periodically
  • Cache Management: Configure appropriate cache sizes
  • Purge Old Articles: Set retention policies

Backup Strategy

Protect your reading data:

  1. Regular database backups
  2. Export OPML feed list
  3. Back up custom plugins/themes
  4. Document configuration

Troubleshooting

Feeds Not Updating

  • Check the update daemon is running
  • Verify feed URLs are accessible
  • Review error logs for feed issues
  • Test feed URL manually

Database Connection Errors

  • Verify database credentials
  • Check database server is running
  • Confirm network connectivity
  • Review PostgreSQL logs

Login Problems

  • Clear browser cookies
  • Verify username/password
  • Check session cookie settings
  • Review authentication logs

Performance Issues

  • Increase PHP memory limit
  • Optimize database queries
  • Reduce concurrent updates
  • Check server resources

Additional Resources

Conclusion

Deploying Tiny Tiny RSS on Klutch.sh gives you a powerful, privacy-respecting feed reader that’s always available. With comprehensive features, keyboard shortcuts, and mobile app support, TT-RSS provides a complete news aggregation solution. Self-hosting ensures your reading habits remain private while Klutch.sh’s reliable infrastructure keeps your feeds updated around the clock.