This commit is contained in:
Aykhan Shahsuvarov 2025-04-26 23:50:45 +04:00
commit 03d504ce06
5 changed files with 68 additions and 0 deletions

3
.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
*.sqlite
*.sqlite-*
pds.env

3
README.md Normal file
View File

@ -0,0 +1,3 @@
sed -i "s/PDS_JWT_SECRET=/PDS_JWT_SECRET=$(openssl rand --hex 16)/" pds.env
sed -i "s/PDS_ADMIN_PASSWORD=/PDS_ADMIN_PASSWORD=$(openssl rand --hex 16)/" pds.env
sed -i "s/PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX=/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)/" pds.env

12
caddy/etc/caddy/Caddyfile Normal file
View File

@ -0,0 +1,12 @@
{
on_demand_tls {
ask http://pds:3000/tls-check
}
}
*.{$PDS_HOSTNAME}, {$PDS_HOSTNAME} {
tls {
on_demand
}
reverse_proxy http://pds:3000
}

33
docker-compose.yaml Normal file
View File

@ -0,0 +1,33 @@
services:
caddy:
container_name: caddy
image: caddy:2
networks:
- bsky-pds
ports:
- "80:80"
- "443:443"
- "443:443/udp"
depends_on:
- pds
restart: unless-stopped
volumes:
- ./caddy/data:/data
- ./caddy/etc/caddy:/etc/caddy
env_file:
- ./pds.env
pds:
container_name: pds
image: ghcr.io/bluesky-social/pds:0.4
restart: unless-stopped
networks:
- bsky-pds
volumes:
- ./:/pds
env_file:
- ./pds.env
networks:
bsky-pds:
external: false

17
pds.env.example Normal file
View File

@ -0,0 +1,17 @@
PDS_HOSTNAME=
PDS_JWT_SECRET=
PDS_ADMIN_PASSWORD=
PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX=
PDS_EMAIL_SMTP_URL=
PDS_EMAIL_FROM_ADDRESS=
PDS_DATA_DIRECTORY=/pds
PDS_BLOBSTORE_DISK_LOCATION=/pds/blocks
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