plc.directory is a key part of DID-PLC.
DID-PLC is a popular DID method used on the ATProto ATmosphere — which includes Bluesky, Blacksky, Leaflet, and others.
The source-code for plc.directory open-source, and available here:
If you are a computer-programmer working with ATProto, then you may want to run your own local alternative to plc.directory
Here are the steps to do that.
git clone https://github.com/did-method-plc/did-method-plc.git
cd did-method-plc
Now you have to decide whether you want to run it bare on your computer, or run it within a Docker container.
pnpm install --pm-on-fail=ignore
pnpm --pm-on-fail=ignore build
DATABASE_URL=postgres://postgres@localhost:5433/plc \
PORT=2582 \
DEBUG_MODE=1 \
ENABLE_MIGRATIONS=true \
pnpm --pm-on-fail=ignore start
Where you would replace postgres://postgres@localhost:5433/plc with whatever the URL to your Postgres sever is.
And, you would replace 2582 with whatever you want your port to be.
cd did-method-plc/packages/server
docker compose -f pg/docker-compose.yaml up -d db
DATABASE_URL=postgresql://pg:password@localhost:5432/postgres \
PORT=2582 \
DEBUG_MODE=1 \
ENABLE_MIGRATIONS=true \
pnpm --pm-on-fail=ignore start