# .fly/fly.toml — openhuman-core on Fly.io
#
# See gitbooks/features/cloud-deploy.md for the full deployment guide.
# See https://fly.io/docs/reference/configuration/ for fly.toml reference.
#
# Quickstart:
#   fly launch --no-deploy --config .fly/fly.toml
#   fly volumes create openhuman_workspace --size 5 --region <region> --config .fly/fly.toml
#   fly secrets set OPENHUMAN_CORE_TOKEN="$(openssl rand -hex 32)"
#   fly secrets set BACKEND_URL="https://api.tinyhumans.ai"
#   fly deploy --config .fly/fly.toml

app = '<your-app-name>'
primary_region = '<your-region>'

[build]
  dockerfile = "Dockerfile"

[env]
  OPENHUMAN_CORE_HOST = "0.0.0.0"
  OPENHUMAN_CORE_PORT = "7788"
  OPENHUMAN_WORKSPACE = "/home/openhuman/.openhuman"
  RUST_LOG = "info"

[[mounts]]
  source = "openhuman_workspace"
  destination = "/home/openhuman/.openhuman"

[http_service]
  internal_port = 7788
  force_https = true
  auto_stop_machines = 'stop'
  auto_start_machines = true
  # min_machines_running = 0 fully stops the machine when idle (cheapest), but
  # the first request after idle pays a cold-start penalty (container boot +
  # Rust binary init — several seconds). Set to 1 to keep one machine warm.
  min_machines_running = 0
  processes = ['app']

  [[http_service.checks]]
    interval = "30s"
    timeout = "5s"
    grace_period = "10s"
    method = "GET"
    path = "/health"

[[vm]]
  memory = '1gb'
  cpus = 1
