Something went wrong. Try again.
Monorepo for Aesthetic.Computer aesthetic.computer
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181# PDS Environment Configuration Template# Copy this file to /pds/pds.env on your server and fill in values# Source: aesthetic-computer/at/pds/config/pds.env.example# =============================================================================# REQUIRED: Basic PDS Configuration# =============================================================================# Your PDS hostname (e.g., pds.aesthetic.computer)PDS_HOSTNAME=pds.aesthetic.computer# Admin email for Let's Encrypt TLS certificatesPDS_ADMIN_EMAIL=me@jas.life# Port bindings (usually don't need to change)PDS_PORT=3000# Data directory (inside container)PDS_DATA_DIRECTORY=/pds# =============================================================================# REQUIRED: DID PLC Configuration# =============================================================================# DID PLC URL (official service)PDS_DID_PLC_URL=https://plc.directory# =============================================================================# REQUIRED: Relay/Firehose Configuration# =============================================================================# Bluesky relay for federationPDS_BSKY_APP_VIEW_URL=https://api.bsky.appPDS_BSKY_APP_VIEW_DID=did:web:api.bsky.app# Crawling configurationPDS_CRAWLERS=https://bsky.network# =============================================================================# REQUIRED: Blob Storage - DigitalOcean Spaces (Recommended)# =============================================================================# S3-compatible blob storagePDS_BLOBSTORE_DISK_LOCATION=s3# DigitalOcean Spaces endpoint (change region if needed)# Regions: nyc3, sfo3, fra1, sgp1PDS_BLOBSTORE_S3_ENDPOINT=https://nyc3.digitaloceanspaces.com# Your Space namePDS_BLOBSTORE_S3_BUCKET=aesthetic-pds-blobs# Spaces access credentials (from DO dashboard → API → Spaces Keys)PDS_BLOBSTORE_S3_ACCESS_KEY_ID=DO00XXXXXXXXXXPDS_BLOBSTORE_S3_SECRET_ACCESS_KEY=xxxxxxxxxxxxxxxxxxxx# Region (must match endpoint)PDS_BLOBSTORE_S3_REGION=nyc3# Force path style (required for Spaces)PDS_BLOBSTORE_S3_FORCE_PATH_STYLE=true# =============================================================================# OPTIONAL: Google Cloud Storage (Alternative to Spaces)# =============================================================================# Uncomment and configure if using GCS instead of Spaces# PDS_BLOBSTORE_DISK_LOCATION=gcs# PDS_BLOBSTORE_GCS_BUCKET=aesthetic-pds-blobs# PDS_BLOBSTORE_GCS_PROJECT_ID=aesthetic-computer# GOOGLE_APPLICATION_CREDENTIALS=/pds/gcs-service-account.json# =============================================================================# REQUIRED: Email Configuration (SMTP)# =============================================================================# Email service for verification emails# Option 1: Resend (recommended, free tier available)# PDS_EMAIL_SMTP_URL=smtps://resend:re_xxxxxx@smtp.resend.com:465/# Option 2: SendGrid# PDS_EMAIL_SMTP_URL=smtps://apikey:SG.xxxxxx@smtp.sendgrid.net:465/# Option 3: Gmail (for testing only)# PDS_EMAIL_SMTP_URL=smtps://your-email@gmail.com:app-password@smtp.gmail.com:465/# From address for emailsPDS_EMAIL_FROM_ADDRESS=noreply@aesthetic.computer# =============================================================================# OPTIONAL: Contact Information (shown in describeServer)# =============================================================================PDS_CONTACT_EMAIL_ADDRESS=mail@aesthetic.computer# =============================================================================# OPTIONAL: Service Configuration# =============================================================================# Service DID (generated on first run, leave empty initially)PDS_SERVICE_DID=# JWT secret (generated automatically if not set)PDS_JWT_SECRET=# =============================================================================# OPTIONAL: Rate Limiting# =============================================================================# Enable rate limiting (recommended)PDS_RATE_LIMIT_ENABLED=true# Requests per 5 minutes per IPPDS_RATE_LIMIT_GLOBAL_LIMIT_PER_PERIOD=3000PDS_RATE_LIMIT_GLOBAL_PERIOD=300000# =============================================================================# OPTIONAL: Account Creation# =============================================================================# Allow new account creationPDS_INVITE_REQUIRED=true# Max accounts (0 = unlimited)PDS_MAX_ACCOUNTS=100# =============================================================================# OPTIONAL: Moderation# =============================================================================# Moderation servicePDS_MODERATION_SERVICE_DID=did:plc:ar7c4by46qjdydhdevvrndacPDS_MODERATION_SERVICE_URL=https://mod.bsky.app# =============================================================================# OPTIONAL: Logging# =============================================================================# Log level (debug, info, warn, error)LOG_LEVEL=info# Log destination (stdout or file path)LOG_DESTINATION=/pds/pds.log# =============================================================================# OPTIONAL: Advanced Configuration# =============================================================================# Blob upload limitsPDS_MAX_BLOB_SIZE=5242880 # 5MB# Account migrationPDS_ACCOUNT_MIGRATION_ENABLED=true# WebSocket keep-alivePDS_WEBSOCKET_KEEPALIVE_INTERVAL=30000# Database locationPDS_DB_SQLITE_LOCATION=/pds# =============================================================================# OPTIONAL: Development/Debug# =============================================================================# Enable debug mode (set to false for production)# PDS_DEBUG=false# Report service URL (for error reporting)# PDS_REPORT_SERVICE_URL=https://mod.bsky.app# PDS_REPORT_SERVICE_DID=did:plc:ar7c4by46qjdydhdevvrndac# =============================================================================# NOTES# =============================================================================# 1. Never commit this file to version control# 2. Store sensitive values in aesthetic-computer-vault# 3. Restart PDS after changing values: systemctl restart pds# 4. Test SMTP config: curl -X POST http://localhost:3000/xrpc/com.atproto.server.requestEmailConfirmation# 5. Check logs: docker logs pds --tail 100