···144144CADDYFILE
145145```
146146147147+### Generating K256 private keys
148148+149149+Your PDS will need two secp256k1 private keys provided as hex strings. You can securely generate these keys using `openssl` with the following command:
150150+```bash
151151+openssl ecparam -name secp256k1 -genkey -noout -outform DER | tail -c +8 | head -c 32 | xxd -p -c 32
152152+```
153153+154154+This will output a 64-char hex string. Please generate two keys in preperation for the next step.
155155+147156### Create the PDS env configuration file
157157+158158+You should fill in the first 5 values, but leave the rest untouched unless you have good reason to change it.
159159+160160+See the PDS environment variables section at the end of this README for explanations of each value
148161149162```bash
150163cat <<PDS_CONFIG | sudo tee /data/pds.env
151151-PDS_HOSTNAME=example.com
152152-PDS_DB_SQLITE_LOCATION=/data/pds.sqlite
164164+PDS_HOSTNAME=<YOUR_HOSTNAME>
153165PDS_JWT_SECRET=<VALUE>
154166PDS_ADMIN_PASSWORD=<VALUE>
155167PDS_REPO_SIGNING_KEY_K256_PRIVATE_KEY_HEX=<VALUE>
156168PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX=<VALUE>
169169+PDS_DB_SQLITE_LOCATION=/data/pds.sqlite
157170PDS_BLOBSTORE_DISK_LOCATION=/data/blocks
158171PDS_DID_PLC_URL=https://plc.bsky-sandbox.dev
159172PDS_BSKY_APP_VIEW_ENDPOINT=https://api.bsky-sandbox.dev
···161174PDS_CRAWLERS=https://bgs.bsky-sandbox.dev
162175PDS_CONFIG
163176```
164164-165165-## Generating K256 private keys
166166-167167-Your PDS will need two secp256k1 private keys provided as hex strings. You can securely generate these keys using `openssl` with the following command:
168168-```bash
169169-openssl ecparam -name secp256k1 -genkey -noout -outform DER | tail -c +8 | head -c 32 | xxd -p -c 32
170170-```
171171-172172-This will output a 64-char hex string. Please generate two keys in preperation for the next step.
173177174178### Start the PDS containers
175179···223227| Environment Variable | Value | Should update? | Notes |
224228| ----------------------------------------- | --------------------------------------------- | -------------- |------ |
225229| PDS_HOSTNAME | example.com | ✅ | Public domain you intend to deploy your service at |
226226-| PDS_DB_SQLITE_LOCATION | pds.sqlite | ✅ | Or use `PDS_DB_POSTGRES_URL` depending on which database you intend to use |
227230| PDS_JWT_SECRET | jwt-secret | ✅ | Use a secure high-entropy string that is 32 characters in length |
228231| PDS_ADMIN_PASSWORD | admin-pass | ✅ | Use a secure high-entropy string that is 32 characters in length |
229232| PDS_REPO_SIGNING_KEY_K256_PRIVATE_KEY_HEX | 3ee68... | ✅ | See above Generate Keys section - once set, do not change |
230233| PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX | e049f... | ✅ | See above Generate Keys section - once set, do not change |
231231-| PDS_BLOBSTORE_DISK_LOCATION | blobs | ❌ | Only update if you update the mounted volume for your docker image as well |
234234+| PDS_DB_SQLITE_LOCATION | /data/pds.sqlite | ❌ | Or use `PDS_DB_POSTGRES_URL` depending on which database you intend to use |
235235+| PDS_BLOBSTORE_DISK_LOCATION | /data/blocks | ❌ | Only update if you update the mounted volume for your docker image as well |
232236| PDS_DID_PLC_URL | https://plc.bsky-sandbox.dev | ❌ | Do not adjust if you intend to federate with the Bluesky federation sandbox |
233237| PDS_BSKY_APP_VIEW_URL | https://api.bsky-sandbox.dev | ❌ | Do not adjust if you intend to federate with the Bluesky federation sandbox |
234238| PDS_BSKY_APP_VIEW_DID | did:web:api.bsky-sandbox.dev | ❌ | Do not adjust if you intend to federate with the Bluesky federation sandbox |
···236240237241There are additional environment variables that can be tweaked depending on how you're running your service. For instance, storing blobs in AWS S3, keys in AWS KMS, or setting up an email service.
238242239239-Feel free to explore those [Here](https://github.com/bluesky-social/atproto/blob/simplify-pds/packages/pds/src/config/env.ts). However, we will not be providing support for more advanced configurations.
243243+Feel free to explore those [Here](https://github.com/bluesky-social/atproto/blob/simplify-pds/packages/pds/src/config/env.ts). However, we will not be providing support for more advanced configurations.