services: pds: build: . image: ghcr.io/futurgh/pegasus:latest ports: - "8008:8008" volumes: - pds:/data environment: - PDS_LOG_LEVEL=${PDS_LOG_LEVEL:-info} - PDS_DATA_DIR=${PDS_DATA_DIR:-./data} - PDS_HOSTNAME=${PDS_HOSTNAME:?} - PDS_DID=${PDS_DID:-} - PDS_INVITE_CODE_REQUIRED=${PDS_INVITE_CODE_REQUIRED:-true} - PDS_ROTATION_KEY_MULTIBASE=${PDS_ROTATION_KEY_MULTIBASE:?} - PDS_JWK_MULTIBASE=${PDS_JWK_MULTIBASE:?} - PDS_ADMIN_PASSWORD=${PDS_ADMIN_PASSWORD:?} - PDS_CRAWLERS=${PDS_CRAWLERS:-https://bsky.network} - PDS_DPOP_NONCE_SECRET=${PDS_DPOP_NONCE_SECRET:-} - PDS_FAVICON_URL=${PDS_FAVICON_URL:-} - PDS_SMTP_STARTTLS=${PDS_SMTP_STARTTLS:-false} - PDS_SMTP_AUTH_URI=${PDS_SMTP_AUTH_URI:-} - PDS_SMTP_SENDER=${PDS_SMTP_SENDER:-} - PDS_S3_BLOBS_ENABLED=${PDS_S3_BLOBS_ENABLED:-false} - PDS_S3_BACKUPS_ENABLED=${PDS_S3_BACKUPS_ENABLED:-false} - PDS_S3_BACKUP_INTERVAL_S=${PDS_S3_BACKUP_INTERVAL_S:-3600} - PDS_S3_ENDPOINT=${PDS_S3_ENDPOINT:-} - PDS_S3_REGION=${PDS_S3_REGION:-} - PDS_S3_BUCKET=${PDS_S3_BUCKET:-} - PDS_S3_ACCESS_KEY=${PDS_S3_ACCESS_KEY:-} - PDS_S3_SECRET_KEY=${PDS_S3_SECRET_KEY:-} - PDS_S3_CDN_URL=${PDS_S3_CDN_URL:-} restart: unless-stopped caddy: image: caddy:2-alpine ports: - "80:80" - "443:443" volumes: - ./Caddyfile:/etc/caddy/Caddyfile:ro - caddy-data:/data - caddy-config:/config environment: - PDS_HOSTNAME=${PDS_HOSTNAME:?} restart: unless-stopped volumes: pds: driver: local caddy-data: driver: local caddy-config: driver: local