-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfly.toml
More file actions
55 lines (47 loc) · 1.58 KB
/
fly.toml
File metadata and controls
55 lines (47 loc) · 1.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# Fly.io app config — one-click deploy.
#
# First-time setup (one-time, ~5 min):
# fly launch --copy-config --name echoform-ghost-memory --region iad
# fly postgres create --name echoform-pg --region iad
# fly postgres attach echoform-pg
# fly redis create --name echoform-redis --region iad
# fly secrets set ECHOFORM_SIGNING_KEY="$(python -c 'from cryptography.hazmat.primitives.asymmetric import ed25519; from cryptography.hazmat.primitives import serialization; print(ed25519.Ed25519PrivateKey.generate().private_bytes(serialization.Encoding.PEM, serialization.PrivateFormat.PKCS8, serialization.NoEncryption()).decode())')"
# fly deploy
#
# Re-deploy:
# fly deploy
app = "echoform-ghost-memory"
primary_region = "iad"
[build]
dockerfile = "Dockerfile"
[env]
ECHOFORM_ENV = "production"
ECHOFORM_LOG_FORMAT = "json"
ECHOFORM_ARCHIVE_BACKEND = "local"
PORT = "8080"
[http_service]
internal_port = 8080
force_https = true
auto_stop_machines = false
auto_start_machines = true
min_machines_running = 1
[http_service.concurrency]
type = "requests"
soft_limit = 200
hard_limit = 300
[[http_service.checks]]
grace_period = "10s"
interval = "10s"
method = "GET"
timeout = "5s"
path = "/healthz"
[[vm]]
cpu_kind = "shared"
cpus = 2
memory = "2gb"
[processes]
web = "uvicorn echoform.api.public.server:create_app --factory --host 0.0.0.0 --port 8080"
worker = "python -m echoform.core.consolidation.worker"
[metrics]
port = 8080
path = "/metrics"