forked from
baileytownsend.dev/pds-moover
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
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