# See more env options in src/config/env.ts # Hostname - the public domain that you intend to deploy your service at PDS_HOSTNAME="example.com" PDS_PORT="2583" # Database config - use one or the other PDS_DATA_DIRECTORY="data" # Blobstore - filesystem location to store uploaded blobs PDS_BLOBSTORE_DISK_LOCATION="blobs" # Private keys - these are each expected to be 64 char hex strings (256 bit) PDS_REPO_SIGNING_KEY_K256_PRIVATE_KEY_HEX="3ee68..." PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX="e049f..." # Secrets - update to secure high-entropy strings PDS_DPOP_SECRET="32-random-bytes-hex-encoded" PDS_JWT_SECRET="jwt-secret" PDS_ADMIN_PASSWORD="admin-pass" # Environment - example is for live network PDS_DID_PLC_URL="https://plc.directory" PDS_BSKY_APP_VIEW_URL="https://api.bsky.app" PDS_BSKY_APP_VIEW_DID="did:web:api.bsky.app" PDS_CRAWLERS="https://bsky.network" # OAuth Provider - branding for the login / consent screens PDS_SERVICE_NAME="John's self hosted PDS" PDS_LOGO_URL= PDS_PRIMARY_COLOR="#7507e3" PDS_ERROR_COLOR= PDS_HOME_URL= PDS_TERMS_OF_SERVICE_URL= PDS_PRIVACY_POLICY_URL= PDS_SUPPORT_URL= # Auth screen background images, shown behind the login card, by colour scheme PDS_BACKGROUND_LIGHT_URL= PDS_BACKGROUND_DARK_URL= # Debugging NODE_TLS_REJECT_UNAUTHORIZED=1 LOG_ENABLED=0 LOG_LEVEL=info PDS_INVITE_REQUIRED=1 PDS_DISABLE_SSRF_PROTECTION=0 # Telemetry (optional) - requires running with `node --import @atproto/pds/telemetry`. # See: # - https://opentelemetry.io/docs/languages/sdk-configuration/general/ # - https://opentelemetry.io/docs/languages/sdk-configuration/otlp-exporter/ #OTEL_SERVICE_NAME="pds" #OTEL_NODE_RESOURCE_DETECTORS="container,env,host" #OTEL_EXPORTER_OTLP_ENDPOINT="https://otel-collector.example.com" #OTEL_EXPORTER_OTLP_PROTOCOL="http/protobuf"