# Application APP_HOST=0.0.0.0 APP_PORT=3000 # Port exposed by Docker Compose RUSTPAD_PORT=8200 # Database # SQLite — default DATABASE_URL=sqlite:///data/db/rustpad.db?mode=rwc # PostgreSQL # DATABASE_URL=postgres://rustpad:rustpad@postgres:5432/rustpad # MySQL # DATABASE_URL=mysql://rustpad:rustpad@mysql:3306/rustpad DATABASE_MAX_CONNECTIONS=8 # Session lifetime in days # Anonymous pad/workspace access tokens ANONYMOUS_ACCESS_TOKEN_TTL_DAYS=7 # Logged-in user sessions USER_SESSION_TTL_DAYS=30 # Logging # available: warn, debug, info FRONTEND_DEBUG=false RUST_LOG=rustpad=info,tower_http=warn # Maximum upload size UPLOAD_MAX_SIZE_MB=20 # Attachment storage: local or s3 STORAGE_DRIVER=local FILES_DIR=/data/files # S3-compatible storage (AWS S3, Garage, Ceph, OpenStack, MinIO, R2...) # For Docker Garage run: docker compose --profile s3 up -d # STORAGE_DRIVER=s3 # S3_ENDPOINT=http://garage:3900 # S3_REGION=garage # S3_BUCKET=attachments # S3_ACCESS_KEY=GK0123456789abcdef0123456789abcdef # S3_SECRET_KEY=0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef # S3_FORCE_PATH_STYLE=true # GARAGE_S3_PORT=3900 # GARAGE_ADMIN_PORT=3903 # Browser cache lifetime in seconds ASSET_CACHE_MAX_AGE_SECONDS=600 FILE_CACHE_MAX_AGE_SECONDS=300 # Optional PostgreSQL container configuration POSTGRES_DB=rustpad POSTGRES_USER=rustpad POSTGRES_PASSWORD=rustpad # Optional MySQL container configuration MYSQL_DATABASE=rustpad MYSQL_USER=rustpad MYSQL_PASSWORD=rustpad MYSQL_ROOT_PASSWORD=rustpad_root # Optional settings REGISTRATION_ENABLED=false ACCOUNT_CONFIRMATION_REQUIRED=false SHARE_CONFIRMATION_REQUIRED=true # smtp mailing PUBLIC_URL=https://pad.example.com # SMTP_HOST=smtp.example.com SMTP_PORT=587 SMTP_USERNAME= SMTP_PASSWORD= SMTP_FROM="RustPad "