···143143### Set up the PDS directory
144144145145```bash
146146-sudo mkdir /data
147147-sudo mkdir --parents /data/caddy/data
148148-sudo mkdir --parents /data/caddy/etc/caddy
146146+sudo mkdir /pds
147147+sudo mkdir --parents /pds/caddy/data
148148+sudo mkdir --parents /pds/caddy/etc/caddy
149149```
150150151151### Create the Caddyfile
···153153Be sure to replace `example.com` with your own domain.
154154155155```bash
156156-cat <<CADDYFILE | sudo tee /data/caddy/etc/caddy/Caddyfile
156156+cat <<CADDYFILE | sudo tee /pds/caddy/etc/caddy/Caddyfile
157157{
158158 email you@example.com
159159}
···185185PDS_REPO_SIGNING_KEY_K256_PRIVATE_KEY_HEX="$(openssl ecparam --name secp256k1 --genkey --noout --outform DER | tail --bytes=+8 | head --bytes=32 | xxd --plain --cols 32)"
186186PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX="$(openssl ecparam --name secp256k1 --genkey --noout --outform DER | tail --bytes=+8 | head --bytes=32 | xxd --plain --cols 32)"
187187188188-cat <<PDS_CONFIG | sudo tee /data/pds.env
188188+cat <<PDS_CONFIG | sudo tee /pds/pds.env
189189PDS_HOSTNAME=${PDS_HOSTNAME}
190190PDS_JWT_SECRET=${PDS_JWT_SECRET}
191191PDS_ADMIN_PASSWORD=${PDS_ADMIN_PASSWORD}
192192PDS_REPO_SIGNING_KEY_K256_PRIVATE_KEY_HEX=${PDS_REPO_SIGNING_KEY_K256_PRIVATE_KEY_HEX}
193193PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX=${PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX}
194194-PDS_DB_SQLITE_LOCATION=/data/pds.sqlite
195195-PDS_BLOBSTORE_DISK_LOCATION=/data/blocks
194194+PDS_DB_SQLITE_LOCATION=/pds/pds.sqlite
195195+PDS_BLOBSTORE_DISK_LOCATION=/pds/blocks
196196PDS_DID_PLC_URL=https://plc.bsky-sandbox.dev
197197PDS_BSKY_APP_VIEW_ENDPOINT=https://api.bsky-sandbox.dev
198198PDS_BSKY_APP_VIEW_DID=did:web:api.bsky-sandbox.dev
···260260| PDS_ADMIN_PASSWORD | admin-pass | ✅ | Use a secure high-entropy string that is 32 characters in length |
261261| PDS_REPO_SIGNING_KEY_K256_PRIVATE_KEY_HEX | 3ee68... | ✅ | See above Generate Keys section - once set, do not change |
262262| PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX | e049f... | ✅ | See above Generate Keys section - once set, do not change |
263263-| PDS_DB_SQLITE_LOCATION | /data/pds.sqlite | ❌ | Or use `PDS_DB_POSTGRES_URL` depending on which database you intend to use |
264264-| PDS_BLOBSTORE_DISK_LOCATION | /data/blocks | ❌ | Only update if you update the mounted volume for your docker image as well |
263263+| PDS_DB_SQLITE_LOCATION | /pds/pds.sqlite | ❌ | Or use `PDS_DB_POSTGRES_URL` depending on which database you intend to use |
264264+| PDS_BLOBSTORE_DISK_LOCATION | /pds/blocks | ❌ | Only update if you update the mounted volume for your docker image as well |
265265| PDS_DID_PLC_URL | https://plc.bsky-sandbox.dev | ❌ | Do not adjust if you intend to federate with the Bluesky federation sandbox |
266266| PDS_BSKY_APP_VIEW_URL | https://api.bsky-sandbox.dev | ❌ | Do not adjust if you intend to federate with the Bluesky federation sandbox |
267267| PDS_BSKY_APP_VIEW_DID | did:web:api.bsky-sandbox.dev | ❌ | Do not adjust if you intend to federate with the Bluesky federation sandbox |