Skip to content

Instantly share code, notes, and snippets.

@easyselfhost
Last active July 16, 2025 22:57
Show Gist options
  • Select an option

  • Save easyselfhost/ed433f03c1612fd39f8007100df11703 to your computer and use it in GitHub Desktop.

Select an option

Save easyselfhost/ed433f03c1612fd39f8007100df11703 to your computer and use it in GitHub Desktop.
BlueSky PDS Configuration
Placeholder file for the gist
PDS_JWT_SECRET=
PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX=
PDS_ADMIN_PASSWORD=
RESEND_API_KEY=
# Swap with your own domain
*.pds.ezsh.app, pds.ezsh.app {
reverse_proxy pds:3000
}
services:
pds:
image: ghcr.io/bluesky-social/pds:latest
container_name: pds
restart: unless-stopped
volumes:
- data:/pds
environment:
# Swap this with your own domain
- PDS_HOSTNAME=pds.ezsh.app
# Generate the following 2 secrets with openssl rand -hex 32 command
- PDS_JWT_SECRET=$PDS_JWT_SECRET
- PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX=$PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX
- PDS_ADMIN_PASSWORD=$PDS_ADMIN_PASSWORD
- PDS_DATA_DIRECTORY=/pds
- PDS_BLOBSTORE_DISK_LOCATION=/pds/blocks
- PDS_EMAIL_SMTP_URL=smtps://resend:${RESEND_API_KEY}@smtp.resend.com:2465/
# Swap this with your own domain
- [email protected]
# Keep the rest of the env as-is
- PDS_BLOB_UPLOAD_LIMIT=52428800
- 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_REPORT_SERVICE_URL=https://mod.bsky.app
- PDS_REPORT_SERVICE_DID=did:plc:ar7c4by46qjdydhdevvrndac
- PDS_CRAWLERS=https://bsky.network
- LOG_ENABLED=true
caddy:
image: caddy:latest
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
volumes:
data:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment