Client side atproto account migrator in your web browser, along with services for backups and adversarial migrations.
Rust 33.7%
Svelte 20.3%
HTML 16.8%
JavaScript 12.1%
TypeScript 11.5%
PLpgSQL 3.3%
CSS 1.7%
Dockerfile 0.2%
Just 0.2%
Other 0.2%
30 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
  • 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