selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

Pipes logo

Self-host Pipes

Visual feed manipulation and data piping tool

BetaOpen SourceAGPL-3.0
Updated7 months ago
LanguageJavaScript
Setup difficultyAdvanced
Stars
282
Requires
Memcached, Node.js/npm, Ruby, SQLite
Install with Build from Source
Pipes CE editor showing visual pipe with connected blocksThree feed blocks connected to a combiner, filter, and output blockData source blocks on canvas: Feed, Downloads, Webhooks, and service-specific blocks

What is Pipes?

Pipes CE (Community Edition) is the free, open-source core of pipes.digital, a visual data manipulation tool inspired by Yahoo Pipes. It provides a web-based editor where users create "pipes" by connecting blocks on a canvas — each block fetches data (RSS, Atom, JSON feeds, HTML pages, webhooks) or transforms it (filter, combine, extract, replace, sort, truncate, build feed, etc.). Data flows item-by-item through the pipe as RSS or structured data. The software is written in Ruby using the Sinatra framework with a Raphaël-based SVG editor frontend. It uses SQLite for storage (pipes, users, sessions, cache) and memcached for caching. Authentication is passwordless via Portier (email-based login). The CE edition lacks the pricing page and user plans of the hosted pipes.digital service. Installation requires Ruby, bundler, memcached, and npm for frontend assets. Optional integrations with RSS-Box and RSS-Bridge can be enabled via environment variables. The project is dual-licensed AGPL-3.0 with an exception for the hosted pipes.digital service.

Should you self-host Pipes?

Pipes scores 44/100 on selfhost.directory (how scoring works) and ranks #52 of 85 in Feed Reader. It has 282 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is advanced: plan for several services and some ongoing maintenance. It is AGPL-3.0-licensed and written mostly in JavaScript.

Its closest alternative on selfhost.directory is RSSHub (85/100, 46 704 stars). It scores higher overall, so compare the two before you pick. See Pipes vs RSSHub side by side.

Features

  • Data Extraction
  • Feed building
  • Feed combining
  • Feed Filtering
  • ForEach iteration
  • HTML scraping
  • Passwordless authentication
  • Pipe composition
  • Pipe sharing
  • RSS/Atom/JSON Feed Support
  • RSS/JSON output
  • Service integrations
  • Text input blocks
  • Visual pipe editor
  • Webhook input

Pipes README

How to install Pipes

Install Pipes with Build from Source

Environment variables
PIPES_URL_SECRET (required), PIPES_RSSBOX (optional), PIPES_RSSBRIDGE (optional)

Clone this repository. You need to install Ruby and the bundler gem:

gem install bundler

Then cd into the cloned repository and download the required gems with bundler:

bundle install

Some gems won't install without some additional requirements, like sqlite3.

Also install memcached, it is used for caching and required. For development you can run it in a terminal:

memcached

Now install the npm managed CSS and JS dependencies with:

cd public/
npm install --omit=dev

When everything is installed and memcached runs you can start the server:

PIPES_URL_SECRET="CHANGE_THIS" bundle exec puma -e development

Requires Ruby, bundler, SQLite3, memcached, and Node.js/npm

How to configure Pipes

  • PIPES_RSSBOXURL to a self-hosted RSS-Box instance for integration blocks.

    URL to a self-hosted RSS-Box instance for integration blocks.

    values: URL (e.g. https://rssbox.example.com/)

  • PIPES_RSSBRIDGEURL to a self-hosted RSS-Bridge instance for integration blocks.

    URL to a self-hosted RSS-Bridge instance for integration blocks.

    values: URL (e.g. https://example.com/bridge01)

  • PIPES_URL_SECRETSecret string used to generate permanent URLs for pipes. Must be set and kept constant.

    Secret string used to generate permanent URLs for pipes. Must be set and kept constant.

    values: Any string

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…