DNS#
The DNS component does several things:
- It uses CoreDNS as a split-DNS nameserver for resolving local handles.
- It provides a small HTTP application for generating new handles for testing purposes.
Configuration#
This service makes API calls to the local PDS and also exists on a tailscale network.
Copy docker-compose.example.yml to docker-compose.yml and make the following changes:
- Set the
PDS_ADMIN_PASSWORDenvironment variable to your PDS admin password. - Set the
PDS_HOSTNAMEto the internal hostname of your PDS. (i.e.pds.sneaky-fox.ts.net) - Optionally, if you are not using the
pyroclastic.clouddomain (it's fine to leave this as-is) then change that. - Optional, set the
TS_AUTHKEYif you are using one.
Operation#
-
First, build the
didadmintool.docker build -f ./didadmin/Dockerfile -t didadmin ./didadmin/ -
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 didadmin.internal.ts.net" -
Bring didadmin up.
docker compose up app -dWhen this first starts, it'll create the
/etc/coredns/database.dband/etc/coredns/Corefilefiles inside the container. -
Bring coredns and the proxy up.
docker compose up -d -
Ensure the PLC and PDS services are running, and split-DNS is configured before using.
Usage#
In a browser, visit https://didadmin.sneaky-fox.ts.net/ and use the form to create accounts on the local PDS.