Client side atproto account migrator in your web browser, along with services for backups and adversarial migrations.
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)