commit
70ab263115
1 changed files with 34 additions and 48 deletions
|
|
@ -7,61 +7,47 @@
|
|||
|
||||
services:
|
||||
pds:
|
||||
image: 'ghcr.io/bluesky-social/pds:latest'
|
||||
image: 'ghcr.io/bluesky-social/pds:0.4.182'
|
||||
volumes:
|
||||
- ./pds-data:/pds
|
||||
- pds-data:/pds
|
||||
environment:
|
||||
- SERVICE_URL_PDS_3000
|
||||
- PDS_HOSTNAME=${SERVICE_URL_PDS}
|
||||
- PDS_JWT_SECRET=${SERVICE_PASSWORD_JWT_SECRET}
|
||||
- PDS_ADMIN_PASSWORD=${SERVICE_PASSWORD_ADMIN}
|
||||
- PDS_ADMIN_EMAIL=${SERVICE_EMAIL_ADMIN}
|
||||
- PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX=${PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX}
|
||||
- PDS_DATA_DIRECTORY=${PDS_DATA_DIRECTORY:-/pds}
|
||||
- PDS_BLOBSTORE_DISK_LOCATION=${PDS_DATA_DIRECTORY:-/pds}/blocks
|
||||
- PDS_BLOB_UPLOAD_LIMIT=${PDS_BLOB_UPLOAD_LIMIT:-52428800}
|
||||
- PDS_DID_PLC_URL=${PDS_DID_PLC_URL:-https://plc.directory}
|
||||
- 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}
|
||||
- PDS_REPORT_SERVICE_URL=${PDS_REPORT_SERVICE_URL:-https://mod.bsky.app/xrpc/com.atproto.moderation.createReport}
|
||||
- PDS_REPORT_SERVICE_DID=${PDS_REPORT_SERVICE_DID:-did:plc:ar7c4by46qjdydhdevvrndac}
|
||||
- PDS_CRAWLERS=${PDS_CRAWLERS:-https://bsky.network}
|
||||
- LOG_ENABLED=${LOG_ENABLED:-true}
|
||||
|
||||
command: >
|
||||
- 'PDS_HOSTNAME=${SERVICE_FQDN_PDS_3000}'
|
||||
- 'PDS_JWT_SECRET=${SERVICE_HEX_32_JWTSECRET}'
|
||||
- 'PDS_ADMIN_PASSWORD=${SERVICE_PASSWORD_ADMIN}'
|
||||
- 'PDS_ADMIN_EMAIL=${PDS_ADMIN_EMAIL}'
|
||||
- 'PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX=${SERVICE_HEX_32_ROTATIONKEY}'
|
||||
- 'PDS_DATA_DIRECTORY=${PDS_DATA_DIRECTORY:-/pds}'
|
||||
- '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_SMTP_URL=${PDS_EMAIL_SMTP_URL}'
|
||||
- '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}'
|
||||
- 'PDS_REPORT_SERVICE_URL=${PDS_REPORT_SERVICE_URL:-https://mod.bsky.app/xrpc/com.atproto.moderation.createReport}'
|
||||
- 'PDS_REPORT_SERVICE_DID=${PDS_REPORT_SERVICE_DID:-did:plc:ar7c4by46qjdydhdevvrndac}'
|
||||
- 'PDS_CRAWLERS=${PDS_CRAWLERS:-https://bsky.network}'
|
||||
- 'LOG_ENABLED=${LOG_ENABLED:-true}'
|
||||
command: |
|
||||
sh -c '
|
||||
echo "Installing curl, bash, and pdsadmin..."
|
||||
apk add --no-cache curl bash && \
|
||||
curl -o /usr/local/bin/pdsadmin.sh https://raw.githubusercontent.com/bluesky-social/pds/main/pdsadmin.sh && \
|
||||
chmod +x /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 "Generating /pds/pds.env..."
|
||||
printf "%s\n" \
|
||||
"SERVICE_FQDN_PDS_3000=$${SERVICE_FQDN_PDS_3000}" \
|
||||
"PDS_HOSTNAME=$${PDS_HOSTNAME}" \
|
||||
"PDS_JWT_SECRET=$${PDS_JWT_SECRET}" \
|
||||
"PDS_ADMIN_PASSWORD=$${PDS_ADMIN_PASSWORD}" \
|
||||
"PDS_ADMIN_EMAIL=$${PDS_ADMIN_EMAIL}" \
|
||||
"PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX=$${PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX}" \
|
||||
"PDS_DATA_DIRECTORY=$${PDS_DATA_DIRECTORY}" \
|
||||
"PDS_BLOBSTORE_DISK_LOCATION=$${PDS_DATA_DIRECTORY}/blocks" \
|
||||
"PDS_BLOB_UPLOAD_LIMIT=$${PDS_BLOB_UPLOAD_LIMIT}" \
|
||||
"PDS_DID_PLC_URL=$${PDS_DID_PLC_URL}" \
|
||||
"PDS_BSKY_APP_VIEW_URL=$${PDS_BSKY_APP_VIEW_URL}" \
|
||||
"PDS_BSKY_APP_VIEW_DID=$${PDS_BSKY_APP_VIEW_DID}" \
|
||||
"PDS_REPORT_SERVICE_URL=$${PDS_REPORT_SERVICE_URL}" \
|
||||
"PDS_REPORT_SERVICE_DID=$${PDS_REPORT_SERVICE_DID}" \
|
||||
"PDS_CRAWLERS=$${PDS_CRAWLERS}" \
|
||||
"LOG_ENABLED=$${LOG_ENABLED}" \
|
||||
> /pds/pds.env
|
||||
|
||||
echo "Launching PDS..."
|
||||
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", "wget", "--spider", "http://127.0.0.1:3000/xrpc/_health"]
|
||||
interval: 2s
|
||||
test:
|
||||
- CMD
|
||||
- wget
|
||||
- '--spider'
|
||||
- 'http://127.0.0.1:3000/xrpc/_health'
|
||||
interval: 5s
|
||||
timeout: 10s
|
||||
retries: 10
|
||||
|
|
|
|||
Loading…
Reference in a new issue