A minimum viable atproto PDS for protocol experimentation purposes
[!NOTE]
My current focus is on millipds, a more "production grade" rewrite of picopds. picopds is no longer maintained (not that it ever really was in the first place, lol).
A minimum viable atproto PDS for protocol experimentation purposes
It's designed to be a single-user instance (i.e. it only hosts a single repo). This is a hardcoded constraint right now but I might make multiple repos technically possible at some point.
Design and implement a protocol for client-signed commits (so the server can avoid holding signing keys, and enabling the use of user-local HSMs)
A read-only web interface for external sharing of posts.
Copy config.py.example to config.py, and edit it.
Run python3 create_identity.py
Update config.py with the new DID value you just generated
Create an _atproto TXT DNS record that points your handle domain name to your DID (or alternatively use the HTTP method) (more info here).
Run pds.py, and make the web server publicly accessible somewhere (I'm using an nginx reverse proxy). You might want to create a systemd unit, or docker container, or something like that (I wouldn't know, I suck at devops/sysadmin).
Run request_crawl.py to inform the PDS that we exist. (Maybe I'll make this automatic at some point in the future).
Log in with a client (the official https://bsky.app works) and make a post, and the BGS should see it!
🌉 A bridge between decentralized social networks
💬 The social web translator
import a twitter archive into bsky
🦋 Bluesky custom feed algorithms server in Python 🐍
A collection of example projects and scripts for atproto development.
The AT Protocol (🦋 Bluesky) SDK for Python 🐍
Your Brand Here!
50K+ engaged viewers every month
Limited spots available!
📧 Contact us via email🦋 Contact us on Bluesky