Skip to content

Deploying Yarr

Introduction

Yarr (Yet Another RSS Reader) is a lightweight, self-hosted RSS reader designed for simplicity and speed. Written in Go with a clean web interface, Yarr provides a distraction-free way to follow your favorite websites, blogs, and news sources without algorithmic feeds or ads.

Key highlights of Yarr:

  • Lightweight: Minimal resource usage with Go backend
  • Single Binary: Easy deployment with no dependencies
  • Clean Interface: Distraction-free reading experience
  • Keyboard Shortcuts: Navigate quickly with keyboard controls
  • OPML Import/Export: Easy migration from other readers
  • Feed Discovery: Automatic feed URL detection
  • Full-Text Fetch: Retrieve complete articles when feeds provide only summaries
  • SQLite Storage: Simple file-based database

This guide walks through deploying Yarr on Klutch.sh using Docker.

Why Deploy Yarr on Klutch.sh

Deploying Yarr on Klutch.sh provides several advantages:

Privacy: Your reading habits stay completely private.

No Algorithms: See content in chronological order, not what an algorithm decides.

HTTPS by Default: Secure access to your feeds from anywhere.

Persistent Storage: Your subscriptions and read states persist with Klutch.sh volumes.

Prerequisites

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

Deploying Yarr on Klutch.sh

    Create Your Repository

    Create a new GitHub repository with a Dockerfile:

    FROM golang:1.21-alpine AS builder
    RUN apk add --no-cache git
    WORKDIR /app
    RUN git clone https://github.com/nkanaev/yarr.git . \
    && go build -o yarr ./cmd/yarr
    FROM alpine:latest
    RUN apk add --no-cache ca-certificates
    WORKDIR /app
    COPY --from=builder /app/yarr .
    ENV YARR_ADDR=0.0.0.0:7070
    ENV YARR_DB=/data/yarr.db
    VOLUME ["/data"]
    EXPOSE 7070
    CMD ["./yarr", "-addr", "0.0.0.0:7070", "-db", "/data/yarr.db"]

    Push to GitHub

    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.

    Create a New App

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

    Configure HTTP Traffic

    Set the traffic type to HTTP with port 7070.

    Attach Persistent Volume

    Add a persistent volume mounted at /data for your database and feed cache.

    Deploy Your Application

    Click Deploy to build and launch Yarr.

    Add Your Feeds

    Access your Yarr instance and start adding RSS feeds from your favorite websites.

Additional Resources

Conclusion

Yarr on Klutch.sh provides a fast, lightweight RSS reader that puts you in control of your content consumption. Follow websites and blogs without tracking, algorithms, or distractions - just the content you choose to read.