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:
- A Klutch.sh account
- A GitHub account with a repository for your configuration
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 gitWORKDIR /appRUN git clone https://github.com/nkanaev/yarr.git . \ && go build -o yarr ./cmd/yarr
FROM alpine:latestRUN apk add --no-cache ca-certificatesWORKDIR /appCOPY --from=builder /app/yarr .
ENV YARR_ADDR=0.0.0.0:7070ENV 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.