PDS MOOver: The Next Generation#
A series of web tools to help users: migrate to a new PDS, find missing blobs, have free backups, and restore from backups in the event of emergency. pdsmoover.com
A little light on documentation as I come off of about a week long crunch but.
- Looking for the old pds moover for simple code to fork check here, if you'd like to see the newer front end check here
- Want to run your own instance of PDS MOOver? check this docker compose. It should have all
the
services in one easy
docker compose up, just don't forget to create a.envfrom .env.template
Break down of projects from the top#
A bit of a mess will probably either condense or rename a couple of these to make it more coherent in the future
- admin_cli - Like pdsadmin, but for pds moover. Can add a whole PDS to be tracked and their users backed up, remove users, etc. VERY WIP and not everything there yet
- cron-worker - Very simple binary to tick every hour telling the main worker to check for repos that need an update
- Dockerfiles - Dockerfiles for all the services in the repo
- packages/lexicons - TypeScript types for PDS MOOver lexicons
- packages/moover - Frontend logic that handles all the atproto processes. Also published as a node module at @pds-moover/moover
- lexicon_types_crate - Rust lexicon types
- lexicons - JSON Lexicons
- ProductionComposes - What I use to run PDS MOOver in production. One instance of web behind a load balancer, one worker node currently with 3 instances on that one server. All can scale horizontally
- shared - Shared code between all the services
- web - The web frontend that servers XRPC endpoints and the frontend
- web-ui - Svelte frontend. plc ops, restores, etc
- worker - What acutally handles all the backing up, but the actual logic is in ./shared/src/jobs/
I think there's everything?
Do you have a pretty picture to show how the network looks?#
yes. Thanks to Orual