music on atproto
plyr.fm
1# fly.toml app configuration file generated for relay-api-staging on 2025-11-05T21:05:32-06:00
2#
3# See https://fly.io/docs/reference/configuration/ for information about how to use this file.
4#
5
6app = 'relay-api-staging'
7primary_region = 'iad'
8
9[build]
10 dockerfile = "Dockerfile"
11 ignore_file = ".dockerignore"
12
13[deploy]
14 release_command = 'uv run --no-dev alembic upgrade head'
15
16[env]
17 ATPROTO_PDS_URL = 'https://pds.zzstoatzz.io'
18 PORT = '8000'
19 R2_BUCKET = 'audio-staging'
20 R2_ENDPOINT_URL = 'https://8feb33b5fb57ce2bc093bc6f4141f40a.r2.cloudflarestorage.com'
21 R2_PUBLIC_BUCKET_URL = 'https://pub-0a0a2e70496c461581c9fafb442b269d.r2.dev'
22 STORAGE_BACKEND = 'r2'
23
24[http_service]
25 internal_port = 8000
26 force_https = true
27 auto_stop_machines = 'stop'
28 auto_start_machines = true
29 min_machines_running = 1
30 processes = ['app']
31
32 [http_service.concurrency]
33 type = 'requests'
34 hard_limit = 250
35 soft_limit = 200
36
37[[vm]]
38 memory = '1gb'
39 cpu_kind = 'shared'
40 cpus = 1
41
42# secrets to set via: fly secrets set KEY=value -a relay-api-staging
43# - DATABASE_URL (neon postgres connection string)
44# - AWS_ACCESS_KEY_ID (cloudflare R2)
45# - AWS_SECRET_ACCESS_KEY (cloudflare R2)
46# - OAUTH_ENCRYPTION_KEY (generate: python -c 'from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())')
47# - DOCKET_URL (self-hosted redis: redis://plyr-redis-stg.internal:6379)