Skip to content

Deploying Readflow

Introduction

Readflow is a powerful, self-hosted news reader that goes beyond simple RSS aggregation. With built-in workflow automation, you can filter, categorize, and route articles to various destinations including Pocket, Wallabag, and Kindle, making it a central hub for your reading workflow.

Key features of Readflow include:

  • Feed Aggregation: Subscribe to RSS and Atom feeds
  • Workflow Rules: Automate content processing with rules
  • Multiple Outputs: Send articles to Pocket, Wallabag, Kindle, and more
  • Categories: Organize feeds and articles
  • Full-Text Fetching: Retrieve complete article content
  • Webhook Support: Integrate with external services
  • GraphQL API: Powerful API for custom integrations
  • Progressive Web App: Install on mobile devices
  • Offline Support: Read articles without internet
  • Lightweight: Go-based with minimal resources

This guide walks through deploying Readflow on Klutch.sh using Docker and setting up your news reading workflow.

Prerequisites

Before deploying Readflow on Klutch.sh, ensure you have:

  • A Klutch.sh account
  • A GitHub account with a repository for your Readflow configuration
  • A PostgreSQL database
  • Basic familiarity with Docker and RSS concepts

Deploying Readflow on Klutch.sh

    Create Your Dockerfile

    Create a Dockerfile in your repository:

    FROM ncarlier/readflow:latest
    # Environment configuration
    ENV READFLOW_SERVER_LISTEN_ADDR=:8080
    ENV READFLOW_DATABASE_URI=${DATABASE_URI}
    # Expose the web interface
    EXPOSE 8080

    Push Your Repository to GitHub

    Commit and push your Dockerfile to your GitHub repository.

    Create a New Project on Klutch.sh

    Navigate to the Klutch.sh dashboard and create a new project named “readflow”.

    Create a New App

    Create a new app within your project and connect your GitHub repository.

    Configure HTTP Traffic

    In the deployment settings:

    • Select HTTP as the traffic type
    • Set the internal port to 8080

    Set Environment Variables

    Configure the following environment variables:

    VariableValue
    READFLOW_SERVER_LISTEN_ADDR:8080
    READFLOW_DATABASE_URIpostgres://user:password@host:5432/readflow
    READFLOW_SECRET_KEYA secure random string
    READFLOW_HASH_KEYA 32-byte hex string for hashing
    READFLOW_BLOCK_KEYA 32-byte hex string for encryption

    Attach Persistent Volumes

    Add persistent storage:

    Mount PathRecommended SizePurpose
    /data5 GBArticle cache and temporary files

    Deploy Your Application

    Click Deploy to build and start your Readflow instance.

    Access Readflow

    Once deployment completes, access your Readflow instance at https://your-app-name.klutch.sh.

Setting Up Workflows

Creating Categories

  1. Navigate to Settings > Categories
  2. Create categories like “Tech”, “News”, “Must Read”
  3. Assign feeds to categories

Adding Rules

Rules automate article processing:

  1. Go to Settings > Rules
  2. Create a new rule with conditions (title contains, source is, etc.)
  3. Define actions (categorize, send to service, mark as read)

Example rules:

  • Articles containing “important” -> Move to “Must Read”
  • Articles from specific source -> Send to Pocket
  • Long-form articles -> Send to Kindle

Output Services

Configure destinations for your articles:

  • Pocket: Save for offline reading
  • Wallabag: Self-hosted read-it-later
  • Kindle: Send directly to your e-reader
  • Webhook: Custom HTTP endpoints

Additional Resources

Conclusion

Deploying Readflow on Klutch.sh provides a powerful news reader with workflow automation, automatic builds, persistent storage, and secure HTTPS access. Aggregate your feeds, filter content automatically, and route articles to your preferred reading destinations.