Client side atproto account migrator in your web browser, along with services for backups and adversarial migrations. pdsmoover.com
pds atproto migrations moo cow
at main 46 lines 2.5 kB view raw view rendered
1# PDS MOOver: The Next Generation 2 3A series of web tools to help users: migrate to a new PDS, find missing blobs, have free backups, and restore from 4backups in the event of emergency. [pdsmoover.com](https://pdsmoover.com) 5 6![cow](./web-ui/src/lib/assets/moo.webp) 7 8A little light on documentation as I come off of about a week long crunch but. 9 10- Looking for the old pds moover for simple code to fork 11 check [here](https://tangled.org/@baileytownsend.dev/pds-moover/tree/803d8a70b7100c9e14df3402277441050e0f6194), if 12 you'd like to see the newer front end check [here](./web-ui) 13- Want to run your own instance of PDS MOOver? [check this docker compose](./compose.selfhost.yml). It should have all 14 the 15 services in one easy `docker compose up`, just don't forget to create a `.env` from [.env.template](.env.template) 16 17## Break down of projects from the top 18 19A bit of a mess will probably either condense or rename a couple of these to make it more coherent in the future 20 21- [admin_cli](./admin_cli) - Like pdsadmin, but for pds moover. Can add a whole PDS to be tracked and their users backed 22 up, remove users, etc. VERY WIP and not everything there yet 23- [cron-worker](./cron-worker) - Very simple binary to tick every hour telling the main worker to check for repos that 24 need an update 25- [Dockerfiles](./Dockerfiles) - Dockerfiles for all the services in the repo 26- [packages/lexicons](./packages/lexicons) - TypeScript types for PDS MOOver lexicons 27- [packages/moover](./packages/moover) - Frontend logic that handles all the atproto processes. Also published as a node 28 module 29 at [@pds-moover/moover](https://www.npmjs.com/package/@pds-moover/moover) 30- [lexicon_types_crate](./lexicon_types_crate) - Rust lexicon types 31- [lexicons](./lexicons) - JSON Lexicons 32- [ProductionComposes](./ProductionComposes) - What I use to run PDS MOOver in production. One instance of web behind a 33 load balancer, one worker node currently with 3 instances on that one server. All can scale horizontally 34- [shared](./shared) - Shared code between all the services 35- [web](./web) - The web frontend that servers XRPC endpoints and the frontend 36- [web-ui](./web-ui) - Svelte frontend. 37 plc ops, restores, etc 38- [worker](./worker) - What acutally handles all the backing up, but the actual logic is 39 in [./shared/src/jobs/](./shared/src/jobs/) 40 41I think there's everything? 42 43## Do you have a pretty picture to show how the network looks? 44 45yes. Thanks to [Orual](https://bsky.app/profile/nonbinary.computer) 46![](.tangled/images/network.webp)