this repo has no description
1# =============================================================================
2# Server
3# =============================================================================
4SERVER_HOST=127.0.0.1
5SERVER_PORT=3000
6# The public-facing hostname of the PDS (used in DID documents, JWTs, etc.)
7PDS_HOSTNAME=localhost:3000
8# =============================================================================
9# Database
10# =============================================================================
11DATABASE_URL=postgres://postgres:postgres@localhost:5432/pds
12# Connection pool settings (defaults are good for most deployments)
13# DATABASE_MAX_CONNECTIONS=100
14# DATABASE_MIN_CONNECTIONS=10
15# DATABASE_ACQUIRE_TIMEOUT_SECS=30
16# =============================================================================
17# Blob Storage (S3-compatible)
18# =============================================================================
19S3_ENDPOINT=http://localhost:9000
20AWS_REGION=us-east-1
21S3_BUCKET=pds-blobs
22AWS_ACCESS_KEY_ID=minioadmin
23AWS_SECRET_ACCESS_KEY=minioadmin
24# =============================================================================
25# Valkey (for caching and distributed rate limiting)
26# =============================================================================
27# If not set, falls back to in-memory caching (single-node only)
28# VALKEY_URL=redis://localhost:6379
29# =============================================================================
30# Security Secrets
31# =============================================================================
32# These MUST be set in production (minimum 32 characters each)
33# In development, set TRANQUIL_PDS_ALLOW_INSECURE_SECRETS=1 to use defaults
34# Server-wide secret for OAuth token signing (HS256)
35# JWT_SECRET=your-secure-random-string-at-least-32-chars
36# Secret for DPoP proof validation
37# DPOP_SECRET=your-secure-random-string-at-least-32-chars
38# Key for encrypting user signing keys at rest (AES-256-GCM)
39# MASTER_KEY=your-secure-random-string-at-least-32-chars
40# Set this ONLY in development to allow default/weak secrets
41# TRANQUIL_PDS_ALLOW_INSECURE_SECRETS=1
42# =============================================================================
43# PLC Directory
44# =============================================================================
45# PLC_DIRECTORY_URL=https://plc.directory
46# PLC_TIMEOUT_SECS=10
47# PLC_CONNECT_TIMEOUT_SECS=5
48# Optional: rotation key for PLC operations (defaults to user's key)
49# PLC_ROTATION_KEY=did:key:...
50# =============================================================================
51# DID Resolution
52# =============================================================================
53# Cache TTL for resolved DID documents (default: 300 seconds)
54# DID_CACHE_TTL_SECS=300
55# =============================================================================
56# Relays
57# =============================================================================
58# Comma-separated list of relay URLs to notify via requestCrawl
59# CRAWLERS=https://bsky.network,https://relay.upcloud.world
60# =============================================================================
61# Firehose (subscribeRepos WebSocket)
62# =============================================================================
63# Buffer size for firehose broadcast channel
64# FIREHOSE_BUFFER_SIZE=10000
65# Disconnect slow consumers after this many events of lag
66# FIREHOSE_MAX_LAG=5000
67# =============================================================================
68# Notification Service
69# =============================================================================
70# Queue processing settings
71# NOTIFICATION_BATCH_SIZE=100
72# NOTIFICATION_POLL_INTERVAL_MS=1000
73# Email notifications (via sendmail/msmtp)
74# MAIL_FROM_ADDRESS=noreply@example.com
75# MAIL_FROM_NAME=My PDS
76# SENDMAIL_PATH=/usr/sbin/sendmail
77# Discord notifications (via webhook)
78# DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/...
79# Telegram notifications (via bot)
80# TELEGRAM_BOT_TOKEN=your-bot-token
81# Signal notifications (via signal-cli)
82# SIGNAL_CLI_PATH=/usr/local/bin/signal-cli
83# SIGNAL_SENDER_NUMBER=+1234567890
84# =============================================================================
85# Upload Limits
86# =============================================================================
87# Maximum blob/body size in bytes (default: 10GB)
88# This controls both the Axum body limit and blob upload limits.
89# Make sure your nginx client_max_body_size matches or exceeds this value.
90# MAX_BLOB_SIZE=10737418240
91# =============================================================================
92# Repository Import
93# =============================================================================
94# Set to "true" to accept repository imports
95# ACCEPTING_REPO_IMPORTS=false
96# Maximum import size in bytes (default: 100MB)
97# MAX_IMPORT_SIZE=104857600
98# Maximum blocks per import (default: 100000)
99# MAX_IMPORT_BLOCKS=100000
100# Skip verification during import (testing only)
101# SKIP_IMPORT_VERIFICATION=false
102# =============================================================================
103# Account Registration
104# =============================================================================
105# Require invite codes for registration
106# INVITE_CODE_REQUIRED=false
107# Comma-separated list of available user domains
108# AVAILABLE_USER_DOMAINS=example.com
109# =============================================================================
110# Server Metadata (returned by describeServer)
111# =============================================================================
112# Privacy policy URL (optional)
113# PRIVACY_POLICY_URL=https://example.com/privacy
114# Terms of service URL (optional)
115# TERMS_OF_SERVICE_URL=https://example.com/terms
116# Contact email address (optional)
117# CONTACT_EMAIL=admin@example.com
118# =============================================================================
119# Rate Limiting
120# =============================================================================
121# Disable all rate limiting (testing only, NEVER in production)
122# DISABLE_RATE_LIMITING=1
123# =============================================================================
124# Account Deletion
125# =============================================================================
126# How often to check for scheduled account deletions (default: 3600 = 1 hour)
127# SCHEDULED_DELETE_CHECK_INTERVAL_SECS=3600
128# =============================================================================
129# Moderation / Report Service
130# =============================================================================
131# If configured, moderation reports will be proxied to this service
132# instead of being stored locally. The service should implement the
133# com.atproto.moderation.createReport endpoint (e.g., Bluesky's Ozone).
134# Both URL and DID must be set for proxying to be enabled.
135# REPORT_SERVICE_URL=https://mod.bsky.app
136# REPORT_SERVICE_DID=did:plc:ar7c4by46qjdydhdevvrndac
137# =============================================================================
138# Miscellaneous
139# =============================================================================
140# Allow HTTP for proxy requests (development only)
141# ALLOW_HTTP_PROXY=1
142# Custom frontend directory (defaults to ./frontend/dist)
143# FRONTEND_DIR=/path/to/frontend/dist
144CARGO_MOMMYS_LITTLE=mister
145CARGO_MOMMYS_PRONOUNS=his
146CARGO_MOMMYS_ROLES=daddy
147CARGO_MOMMYS_EMOTES="🚛/🧱/🚜/🔩/🦺"
148CARGO_MOMMYS_MOODS=ominous