Mirror from bluesky-social/pds

README updates

+21 -16
+21 -16
README.md
··· 167 167 CADDYFILE 168 168 ``` 169 169 170 - ### Generating K256 private keys 171 - 172 - Your PDS will need two secp256k1 private keys provided as hex strings. You can securely generate these keys using `openssl` with the following command: 173 - 174 - ```bash 175 - openssl ecparam --name secp256k1 --genkey --noout --outform DER | tail --bytes=+8 | head --bytes=32 | xxd --plain --cols 32 176 - ``` 177 - 178 - This will output a 64-char hex string. Please generate two keys in preperation for the next step. 179 - 180 170 ### Create the PDS env configuration file 181 171 182 172 You should fill in the first 5 values, but leave the rest untouched unless you have good reason to change it. 183 173 184 174 See the PDS environment variables section at the end of this README for explanations of each value 185 175 176 + Your PDS will need two secp256k1 private keys provided as hex strings. You can securely generate these keys using `openssl` with the following command: 177 + 178 + **Note:** 179 + * Replace `example.com` with your domain name. 180 + 186 181 ```bash 182 + PDS_HOSTNAME="example.com" 183 + PDS_JWT_SECRET="$(openssl rand --hex 16)" 184 + PDS_ADMIN_PASSWORD="$(openssl rand --hex 16)" 185 + PDS_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)" 186 + PDS_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)" 187 + 187 188 cat <<PDS_CONFIG | sudo tee /data/pds.env 188 - PDS_HOSTNAME=<YOUR_HOSTNAME> 189 - PDS_JWT_SECRET=<VALUE> 190 - PDS_ADMIN_PASSWORD=<VALUE> 191 - PDS_REPO_SIGNING_KEY_K256_PRIVATE_KEY_HEX=<VALUE> 192 - PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX=<VALUE> 189 + PDS_HOSTNAME=${PDS_HOSTNAME} 190 + PDS_JWT_SECRET=${PDS_JWT_SECRET} 191 + PDS_ADMIN_PASSWORD=${PDS_ADMIN_PASSWORD} 192 + PDS_REPO_SIGNING_KEY_K256_PRIVATE_KEY_HEX=${PDS_REPO_SIGNING_KEY_K256_PRIVATE_KEY_HEX} 193 + PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX=${PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX} 193 194 PDS_DB_SQLITE_LOCATION=/data/pds.sqlite 194 195 PDS_BLOBSTORE_DISK_LOCATION=/data/blocks 195 196 PDS_DID_PLC_URL=https://plc.bsky-sandbox.dev ··· 203 204 204 205 #### Download the Docker compose file 205 206 206 - Download the `compose.yaml` to run your PDS with the require "sidecar" containers. 207 + Download the `compose.yaml` to run your PDS, which includes the following containers: 208 + 209 + * `pds` Node PDS server running on http://localhost:3000 210 + * `caddy` HTTP reverse proxy handling TLS and proxying requests to the PDS server 211 + * `watchtower` Daemon responsible for auto-updating containers to keep the server secure and federating 207 212 208 213 ```bash 209 214 curl https://raw.githubusercontent.com/bluesky-social/pds/main/compose.yaml >compose.yaml