Everything specific to VoiceGateway on this page is verified against this repository.
Everything specific to Fly (flyctl flags,
fly.toml fields, managed Postgres, generated
hostnames) is written from Fly’s documented behavior and is not verified here. Fly changes
on its own schedule; check their docs if a step does not match what you see.Provide a config file anyway. From
0.24.0 a missing one is only a warning and the
daemon boots on built-in defaults, but a default-config daemon has no providers, models,
or projects declared. The image bakes VOICEGW_CONFIG=/data/voicegw.yaml; write or mount
a voicegw.yaml there with a [[files]] block in fly.toml or a volume, and repoint
VOICEGW_CONFIG if you use a different path.Prerequisites
flyctlinstalled- A Fly account:
fly auth login
1
Create fly.toml
Create
fly.toml in a working directory:2
Add Postgres
Option A: Fly Postgres (unmanaged)
fly postgres attach sets DATABASE_URL automatically, in postgres://... form.Option B: Neon or another managed providerSkip fly postgres create and supply the connection string directly in the next step.3
Set secrets
VOICEGW_API_KEY must not start with vk_. Generate it with openssl rand -hex 32. No volume is needed since data is stored in Postgres.4
Deploy
https://<your-app-name>.fly.dev.Verify
Follow the steps at Verify, usinghttps://<your-app-name>.fly.dev as the daemon URL and VOICEGW_API_KEY as the key.
Connect your agent
See Connect your agent. Usehttps://<your-app-name>.fly.dev as collector_url and VOICEGW_API_KEY as api_key.