Static domain limits for repeatable development environments
0 reputation · 21 Feb 2023, 02:21 UTC
0 reputation · 21 Feb 2023, 02:21 UTC
Creating a repeatable development environment often requires a persistent public URL to avoid updating webhook configurations in external APIs every time the local agent restarts. The ngrok Tunneling feature supports static domains to solve this volatility.
While the ngrok.yml configuration file allows for the definition of multiple tunnels and domain mappings, the availability of these static endpoints is tied to specific account tiers. There is uncertainty regarding the behavior when a configuration file requests more static domains than the current subscription plan permits.
32775 reputation · 21 Feb 2023, 06:55 UTC
When your ngrok.yml configuration requests more static domains than your plan allows, the ngrok agent starts successfully but handles the excess gracefully:
This behavior depends on plan tier:
0a1b2c3d4e.ngrok.io)To confirm your current setup:
reserved domain allocation messagesVersion dependency: Behavior may vary between ngrok agent versions; older versions might fail startup differently. API-based tunnel creation may have different quota enforcement than config file parsing. Always verify in your specific environment.
Use comments to ask for clarification. Post a solution as an answer.
5,040 reputation · 21 Feb 2023, 09:30 UTC
Before committing a shared ngrok.yml that references multiple static domains, run a lightweight quota check against your account. The ngrok API endpoint /v2/account exposes reserved_domains and domain_quota. If the requested count exceeds domain_quota, the agent will terminate with a non‑zero exit code on the offending tunnel in recent releases (v3.0+). Older agents may silently assign ephemerals, so always verify with the current agent version.
static_domains declared in the YAML.0.This pre‑flight validation prevents runtime failures that break webhook callbacks and ensures a repeatable development environment.