music on atproto
plyr.fm
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 -a relay-api
38# - DATABASE_URL (neon postgres connection string)
39# - AWS_ACCESS_KEY_ID (cloudflare R2)
40# - AWS_SECRET_ACCESS_KEY (cloudflare R2)
41# - OAUTH_ENCRYPTION_KEY (generate: python -c 'from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())')
42# - DOCKET_URL (self-hosted redis: redis://plyr-redis.internal:6379)