PDS#
Configuration#
This is a fully operational PDS and needs appropriate configuration. If you decide to run multiple PDS instances for testing, be sure to configure each one individually.
Copy the env.example file to env and update the following entry "PLACEHOLDER" values.
PDS_JWT_SECRETvalue set withopenssl rand --hex 16PDS_ADMIN_PASSWORDvalue set withopenssl rand --hex 16PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEXvalue set withopenssl ecparam --name secp256k1 --genkey --noout --outform DER | tail --bytes=+8 | head --bytes=32 | xxd --plain --cols 32PDS_HOSTNAMEvalue updated to relflect your internal tailnetPDS_ADMIN_EMAILvalue updated to relflect your internal tailnetPDS_DID_PLC_URLvalue updated to relflect your internal tailnet- Optionally, if you are not using the
pyroclastic.clouddomain (it's fine to leave this as-is) then change that.
Copy docker-compose.example.yml to docker-compose.yml and make the following changes:
- Optional, set the
TS_AUTHKEYif you are using one.
Operation#
-
Create the configuration file and update it accordingly.
-
Bring networking up.
docker compose up tailscale -dIf you are using dynamic machine authentication, you'll need to view the logs and click on the link.
docker compose logs tailscale -
Generate an SSL certificate for the node. Be sure to change
internal.ts.netto whatever your Tailnet name is (i.e.sneaky-fox.ts.net)docker compose exec tailscale /bin/sh -c "tailscale cert --cert-file /mnt/tls/cert.pem --key-file /mnt/tls/cert.key pds.internal.ts.net" -
Bring the app and proxy up.
docker compose up -d
Usage#
The PDS will be available at https://pds.internal.ts.net/.
The maildev service will be available at http://pds.internal.ts.net:1080/.