forked from
futur.blue/pegasus
objective categorical abstract machine language personal data server
1services:
2 pds:
3 build: .
4 image: ghcr.io/futurgh/pegasus:latest
5 ports:
6 - "8008:8008"
7 volumes:
8 - pds:/data
9 environment:
10 - PDS_LOG_LEVEL=${PDS_LOG_LEVEL:-info}
11 - PDS_DATA_DIR=${PDS_DATA_DIR:-./data}
12 - PDS_HOSTNAME=${PDS_HOSTNAME:?}
13 - PDS_DID=${PDS_DID:-}
14 - PDS_INVITE_CODE_REQUIRED=${PDS_INVITE_CODE_REQUIRED:-true}
15 - PDS_ROTATION_KEY_MULTIBASE=${PDS_ROTATION_KEY_MULTIBASE:?}
16 - PDS_JWK_MULTIBASE=${PDS_JWK_MULTIBASE:?}
17 - PDS_ADMIN_PASSWORD=${PDS_ADMIN_PASSWORD:?}
18 - PDS_CRAWLERS=${PDS_CRAWLERS:-https://bsky.network}
19 - PDS_DPOP_NONCE_SECRET=${PDS_DPOP_NONCE_SECRET:-}
20 - PDS_FAVICON_URL=${PDS_FAVICON_URL:-}
21
22 - PDS_SMTP_STARTTLS=${PDS_SMTP_STARTTLS:-false}
23 - PDS_SMTP_AUTH_URI=${PDS_SMTP_AUTH_URI:-}
24 - PDS_SMTP_SENDER=${PDS_SMTP_SENDER:-}
25
26 - PDS_S3_BLOBS_ENABLED=${PDS_S3_BLOBS_ENABLED:-false}
27 - PDS_S3_BACKUPS_ENABLED=${PDS_S3_BACKUPS_ENABLED:-false}
28 - PDS_S3_BACKUP_INTERVAL_S=${PDS_S3_BACKUP_INTERVAL_S:-3600}
29 - PDS_S3_ENDPOINT=${PDS_S3_ENDPOINT:-}
30 - PDS_S3_REGION=${PDS_S3_REGION:-}
31 - PDS_S3_BUCKET=${PDS_S3_BUCKET:-}
32 - PDS_S3_ACCESS_KEY=${PDS_S3_ACCESS_KEY:-}
33 - PDS_S3_SECRET_KEY=${PDS_S3_SECRET_KEY:-}
34 - PDS_S3_CDN_URL=${PDS_S3_CDN_URL:-}
35 restart: unless-stopped
36
37 caddy:
38 image: caddy:2-alpine
39 ports:
40 - "80:80"
41 - "443:443"
42 volumes:
43 - ./Caddyfile:/etc/caddy/Caddyfile:ro
44 - caddy-data:/data
45 - caddy-config:/config
46 environment:
47 - PDS_HOSTNAME=${PDS_HOSTNAME:?}
48 restart: unless-stopped
49
50volumes:
51 pds:
52 driver: local
53 caddy-data:
54 driver: local
55 caddy-config:
56 driver: local