An automated verification bot for Bluesky that monitors likes on a specific post and issues verification records to users who interact with it.
- Post Monitoring: Continuously watches a specified Bluesky post via its
at://
URI - Automatic Verification: Generates verification records for users who like the monitored post
- Change Detection: Tracks changes in user handles and display names, updating verification records accordingly
- Efficient Caching: Uses Redis to cache user data, minimizing API calls and enabling fast change detection
- Docker Ready: Fully containerized for easy deployment
- Docker and Docker Compose plugin installed
- A Bluesky account with an app password
- The
at://
URI of the post you want to monitor
-
Clone the repository:
git clone https://github.com/imi-kitten/bluesky-verifier.git cd bluesky-verifier
-
Configure environment variables:
cp example.docker-compose.yml docker-compose.yml
Edit
docker-compose.yml
and update the environment variables with your values. -
Deploy the bot:
docker compose up -d
The bot will start monitoring your specified post and automatically manage verification records!
Configure the bot by setting these environment variables in your docker-compose.yml
:
Variable | Description | Required |
---|---|---|
BSKY_HANDLE |
Your Bluesky handle (e.g., user.bsky.social ) |
✅ |
BSKY_APP_PASSWORD |
Your Bluesky app password | ✅ |
POST_URI |
The at:// URI of the post to monitor |
✅ |
REDIS_HOST |
Redis hostname (default: redis ) |
❌ |
REDIS_PORT |
Redis port (default: 6379 ) |
❌ |
- Go to Bluesky Settings
- Navigate to "App Passwords"
- Create a new app password for this bot
- Use this password (not your account password) in the configuration
The post URI format is: at://did:plc:USER_ID/app.bsky.feed.post/POST_ID
You can find this in the post's URL or by using Bluesky's API tools.
-
Clone and build locally:
git clone https://github.com/imi-kitten/bluesky-verifier.git cd bluesky-verifier docker build -t bluesky-verifier:dev .
-
Update docker-compose.yml for local development:
services: bluesky-verifier: build: . # Remove or comment out the 'image:' line
-
Run with live logs:
docker compose up
-
Rebuild after code changes:
docker compose build docker compose up
For debugging or interactive development:
docker compose run --rm bluesky-verifier
To stop and remove all containers:
docker compose down
The bot consists of:
- Python Application: Core verification logic and Bluesky API integration
- Redis Cache: Stores user data and tracks changes efficiently
- Docker Container: Ensures consistent deployment across environments
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Make your changes
- Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Found a bug or have a feature request? Please open an issue with:
- Clear description of the problem or feature
- Steps to reproduce (for bugs)
- Expected vs actual behavior
- Environment details (OS, Docker version, etc.)