2025-05-28 19:05:23 +04:00
2025-05-28 19:05:23 +04:00
🦋
2025-05-19 01:49:56 +04:00
🦋
2025-05-19 01:49:56 +04:00
2025-05-24 02:51:25 +04:00
2025-05-24 02:51:25 +04:00
🦋
2025-05-19 01:49:56 +04:00
🦋
2025-05-19 01:49:56 +04:00

Bluesky Feed Generator

A Go-based feed generator service for Bluesky social platform that includes components for streaming and processing posts, generating feeds, and exposing them via an API.

Overview

This project is a custom feed generator for Bluesky (ATProto), implementing the "AzPulse" feed. The application consists of several components working together:

  • API: Serves feed data to Bluesky clients
  • Consumer: Streams and processes posts from the Bluesky firehose
  • FeedGen: Processes posts and generates the feed content
  • Manager: CLI tool for managing feed generator records on Bluesky

Architecture

The system follows a microservices architecture with the following components:

  • MongoDB for data storage
  • Multiple services communicating through the database
  • Each service deployed as a separate container

Pre-Built docker images

  • API: git.aykhans.me/bsky/feedgen-api:latest
  • Consumer: git.aykhans.me/bsky/feedgen-consumer:latest
  • FeedGen Az: git.aykhans.me/bsky/feedgen-generator-az:latest
  • Manager: git.aykhans.me/bsky/feedgen-manager:latest

Getting Started

Prerequisites

  • Docker and Docker Compose
  • Go 1.24+

Running with Docker Compose

docker compose up

This will start all necessary services:

  • MongoDB database
  • Consumer service (streams posts from Bluesky)
  • FeedGen service (generates the AZ feed)
  • API service (serves feed data to clients)

Development

For local development without Docker you can checkout the Taskfile and Makefile for development tasks.

Configuration

All services are configured via environment variables. See the docker-compose.yml file for examples and default values.

License

This project is licensed under the AGPL-3.0 License, please see the LICENSE file for details.

Description
A Go-based feed generator for Bluesky, processing posts, generating a custom feed, and serving it via API.
Readme AGPL-3.0 272 KiB
Languages
Go 96.7%
Makefile 1.7%
Dockerfile 1.6%