This repository has no description
Go 99%
Dockerfile <1%
Makefile <1%
Shell <1%

README.md

Rinds #

A collection of feeds under one roof. including Fresh Feeds

Running #

Install go, setup postgres, and then generate the required feed definitions under your user account. You can use https://pdsls.dev to generate a app.bsky.feed.generator record. Set the rkey to the desired short url value. Itll look like:

https://bsky.app/profile/{you}/feed/{rkey}

for the contents you can use the example below

{
  "did": "did:web:${your service endpoint}",
  "$type": "app.bsky.feed.generator",
  "createdAt": "2025-01-21T11:33:02.396Z",
  "description": "wowww very descriptive",
  "displayName": "Cool Feed Name",
}

If you are specifically trying to run any of the preexisting feeds, make sure to use the rkey as defined in the /pkg/feeds/*/feed.go and main.go files

Env #

You can check out .env.example for an example The port is for your feedgen serve, not your postgres port

Postgres #

Be sure to set up .env correctly

All relevant tables should be created automatically when needed.

Index #

You should start Postgres first Then go run the firehose indexder inside

cd ./indexer

And then go compile it

go build -o indexer ./indexer.go && export $(grep -v '^#' ./../.env | xargs) && ./indexer

Once compiled, you can use rerun.sh to ensure it will automatically recover after failure

Serve #

Make sure the indexer (or at least Postgres) is running first:

go build -o feedgen cmd/main.go && export $(grep -v '^#' ./.env | xargs) && ./feedgen

Logs are pretty verbose, just FYI.

Todo #

Architecture #

Based on go-bsky-feed-generator. Read the README in the linked repo for more info about how it all works. This repository differs from the template by not using the docker system at all.

/pkg/feeds/static #

Basic example feed from the template. Kept as a sanity check if all else seems to fail.

/pkg/feeds/fresh #

Fresh feeds, all built around a shared Following feed builder and logic to set posts as viewed. May contain some remnant old references to the old name "rinds".