Client side atproto account migrator in your web browser, along with services for backups and adversarial migrations.
Rust 47.3%
HTML 22.9%
JavaScript 12.5%
TypeScript 9.9%
PLpgSQL 4.5%
CSS 2.2%
Dockerfile 0.2%
Just 0.2%
Other 0.3%
24 6 0

Clone this repository

https://tangled.org/cookie.ebil.club/pds-moover
git@tangled.org:cookie.ebil.club/pds-moover

For self-hosted knots, clone URLs may differ based on your setup.

README.md

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

cow

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 .env from .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
  • lexicon_types - TypeScript types for PDS MOOver lexicons (not currently in use)
  • 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 - JS code to handle everything to do with atproto such as Migrations, missing blobs, signing 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