Something went wrong. Try again.
QuickDID is a high-performance AT Protocol identity resolution service written in Rust. It provides handle-to-DID resolution with Redis-back
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122# QuickDID Environment Configuration Template# Copy this file to .env and customize for your deployment
# ============================================================================# REQUIRED CONFIGURATION# ============================================================================
# External hostname for service endpoints (REQUIRED)# Examples:# - quickdid.example.com# - quickdid.example.com:8080# - localhost:3007HTTP_EXTERNAL=quickdid.example.com
# ============================================================================# NETWORK CONFIGURATION# ============================================================================
# HTTP server port (default: 8080)HTTP_PORT=8080
# PLC directory hostname (default: plc.directory)# Use "plc.directory" for productionPLC_HOSTNAME=plc.directory
# HTTP User-Agent header (optional)# Default: quickdid/{version} (+https://github.com/smokesignal.events/quickdid)# USER_AGENT=quickdid/1.0.0 (+https://quickdid.example.com)
# Custom DNS nameservers (optional, comma-separated)# Examples: 8.8.8.8,8.8.4.4 or 1.1.1.1,1.0.0.1# DNS_NAMESERVERS=
# Additional CA certificates (optional, comma-separated paths)# CERTIFICATE_BUNDLES=
# ============================================================================# CACHING CONFIGURATION# ============================================================================
# Redis URL for caching (optional but recommended for production)# Examples:# - redis://localhost:6379/0# - redis://user:pass@redis.example.com:6379/0# - rediss://secure-redis.example.com:6380/0# REDIS_URL=redis://localhost:6379/0
# TTL for in-memory cache in seconds (default: 600 = 10 minutes)# Lower = fresher data, higher = better performance# Range: 60-3600 recommendedCACHE_TTL_MEMORY=600
# TTL for Redis cache in seconds (default: 7776000 = 90 days)# Recommendations:# - 86400 (1 day) for frequently changing data# - 604800 (1 week) for balanced performance# - 7776000 (90 days) for stable dataCACHE_TTL_REDIS=86400
# ============================================================================# QUEUE CONFIGURATION# ============================================================================
# Queue adapter type (default: mpsc)# Options:# - mpsc: In-memory queue (single instance)# - redis: Distributed queue (multi-instance)# - noop: Disable queue (testing only)QUEUE_ADAPTER=mpsc
# Redis URL for queue operations (optional)# Falls back to REDIS_URL if not specified# Use when separating cache and queue Redis instances# QUEUE_REDIS_URL=
# Redis key prefix for queues (default: queue:handleresolver:)# Useful for namespacing when sharing RedisQUEUE_REDIS_PREFIX=queue:handleresolver:
# Redis blocking timeout in seconds (default: 5)# Lower = more responsive, higher = less pollingQUEUE_REDIS_TIMEOUT=5
# Worker ID for queue operations (optional)# Default: auto-generated UUID# Examples: worker-001, prod-us-east-1, $(hostname)# QUEUE_WORKER_ID=
# Buffer size for MPSC queue (default: 1000)# Increase for high-traffic deploymentsQUEUE_BUFFER_SIZE=1000
# ============================================================================# STATIC FILES CONFIGURATION# ============================================================================
# Directory for serving static files (default: www)# This should contain:# - index.html (landing page)# - .well-known/atproto-did (service DID)# - .well-known/did.json (DID document)# Docker default: /app/wwwSTATIC_FILES_DIR=www
# ============================================================================# LOGGING# ============================================================================
# Rust log level# Options: trace, debug, info, warn, error# Production: info or warn# Development: debugRUST_LOG=info
# ============================================================================# DEVELOPMENT OVERRIDES (uncomment for local development)# ============================================================================
# HTTP_EXTERNAL=localhost:3007# RUST_LOG=debug# CACHE_TTL_MEMORY=60# CACHE_TTL_REDIS=300