fix: both email envs are needed in order for the PDS to start, so set the other one as required

This commit is contained in:
Scan 2025-09-20 01:10:00 -04:00
parent 5b1485a04b
commit 0225c486ff

View file

@ -1,15 +1,8 @@
# documentation: https://github.com/bluesky-social/pds
# slogan: Bluesky PDS (Personal Data Server)
# category: backend
# tags: bluesky, pds, platform
# logo: svgs/bluesky.svg
# port: 3000
services:
pds:
image: 'ghcr.io/bluesky-social/pds:latest'
volumes:
- './pds-data:/pds'
- 'pds-data:/pds'
environment:
- SERVICE_FQDN_PDS_3000
- 'PDS_HOSTNAME=${SERVICE_FQDN_PDS_3000}'
@ -21,7 +14,7 @@ services:
- 'PDS_BLOBSTORE_DISK_LOCATION=${PDS_DATA_DIRECTORY:-/pds}/blocks'
- 'PDS_BLOB_UPLOAD_LIMIT=${PDS_BLOB_UPLOAD_LIMIT:-104857600}'
- 'PDS_DID_PLC_URL=${PDS_DID_PLC_URL:-https://plc.directory}'
- 'PDS_EMAIL_FROM_ADDRESS=${PDS_EMAIL_FROM_ADDRESS}'
- 'PDS_EMAIL_FROM_ADDRESS=${PDS_EMAIL_FROM_ADDRESS:?}'
- 'PDS_EMAIL_SMTP_URL=${PDS_EMAIL_SMTP_URL:-smtps://username:password@smtp.example.com/}'
- 'PDS_BSKY_APP_VIEW_URL=${PDS_BSKY_APP_VIEW_URL:-https://api.bsky.app}'
- 'PDS_BSKY_APP_VIEW_DID=${PDS_BSKY_APP_VIEW_DID:-did:web:api.bsky.app}'
@ -29,20 +22,19 @@ services:
- 'PDS_REPORT_SERVICE_DID=${PDS_REPORT_SERVICE_DID:-did:plc:ar7c4by46qjdydhdevvrndac}'
- 'PDS_CRAWLERS=${PDS_CRAWLERS:-https://bsky.network}'
- 'LOG_ENABLED=${LOG_ENABLED:-true}'
command: >
command: |
sh -c '
set -euo pipefail; echo "Installing required packages and pdsadmin..."
apk add --no-cache openssl curl bash jq coreutils gnupg util-linux-misc >/dev/null && \
curl -o /usr/local/bin/pdsadmin.sh https://raw.githubusercontent.com/bluesky-social/pds/main/pdsadmin.sh && \
chmod 700 /usr/local/bin/pdsadmin.sh && \
set -euo pipefail
echo "Installing required packages and pdsadmin..."
apk add --no-cache openssl curl bash jq coreutils gnupg util-linux-misc >/dev/null
curl -o /usr/local/bin/pdsadmin.sh https://raw.githubusercontent.com/bluesky-social/pds/main/pdsadmin.sh
chmod 700 /usr/local/bin/pdsadmin.sh
ln -sf /usr/local/bin/pdsadmin.sh /usr/local/bin/pdsadmin
echo "Creating an empty pds.env file so pdsadmin works..."
touch ${PDS_DATA_DIRECTORY}/pds.env
echo "Launching PDS, enjoy!..."
exec node --enable-source-maps index.js
'
healthcheck:
test:
- CMD
@ -52,3 +44,5 @@ services:
interval: 2s
timeout: 10s
retries: 10
volumes:
pds-data: