1app = 'relay-api' 2primary_region = 'iad' 3 4[build] 5 dockerfile = "Dockerfile" 6 ignore_file = ".dockerignore" 7 8[deploy] 9 release_command = "uv run --no-dev alembic upgrade head" 10 11[http_service] 12 internal_port = 8000 13 force_https = true 14 auto_stop_machines = 'stop' 15 auto_start_machines = true 16 min_machines_running = 1 17 processes = ['app'] 18 19 [http_service.concurrency] 20 type = 'requests' 21 hard_limit = 250 22 soft_limit = 200 23 24[[vm]] 25 memory = '1gb' 26 cpu_kind = 'shared' 27 cpus = 1 28 29[env] 30 PORT = '8000' 31 STORAGE_BACKEND = 'r2' 32 R2_BUCKET = 'audio-prod' 33 R2_ENDPOINT_URL = 'https://8feb33b5fb57ce2bc093bc6f4141f40a.r2.cloudflarestorage.com' 34 R2_PUBLIC_BUCKET_URL = 'https://pub-d4ed8a1e39d44dac85263d86ad5676fd.r2.dev' 35 ATPROTO_PDS_URL = 'https://pds.zzstoatzz.io' 36 37# secrets to set via: fly secrets set KEY=value 38# - DATABASE_URL 39# - AWS_ACCESS_KEY_ID 40# - AWS_SECRET_ACCESS_KEY 41# - ATPROTO_CLIENT_ID (will be https://api.plyr.fm/oauth-client-metadata.json after deployment) 42# - ATPROTO_REDIRECT_URI (will be https://api.plyr.fm/auth/callback after deployment) 43# - OAUTH_ENCRYPTION_KEY (44-character base64 Fernet key, generate with: python -c 'from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())')