https://github.com/aykhans/bsky-feedgen
A Go-based feed generator for Bluesky, processing posts, generating a custom feed, and serving it via API.
https://github.com/aykhans/bsky-feedgen
atproto bluesky bluesky-feed feed-generator feedgenerator
Last synced: about 1 month ago
JSON representation
A Go-based feed generator for Bluesky, processing posts, generating a custom feed, and serving it via API.
- Host: GitHub
- URL: https://github.com/aykhans/bsky-feedgen
- Owner: aykhans
- License: agpl-3.0
- Created: 2025-05-18T21:49:35.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2026-02-09T06:53:46.000Z (4 months ago)
- Last Synced: 2026-02-09T12:34:10.183Z (4 months ago)
- Topics: atproto, bluesky, bluesky-feed, feed-generator, feedgenerator
- Language: Go
- Homepage:
- Size: 259 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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**](./cmd/api): Serves feed data to Bluesky clients
- [**Consumer**](./cmd/consumer): Streams and processes posts from the Bluesky firehose
- [**FeedGen**](./cmd/feedgen): Processes posts and generates the feed content
- [**Manager**](./cmd/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
```bash
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](./LICENSE) file for details.