mirror of
https://github.com/aykhans/bsky-feedgen.git
synced 2025-07-17 21:34:00 +00:00
🦋
This commit is contained in:
59
README.md
Normal file
59
README.md
Normal file
@@ -0,0 +1,59 @@
|
||||
# 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.
|
Reference in New Issue
Block a user