Cannot start a forge tunnel using ngrok

Hi,

When I’m executing this command: forge tunnel --ngrok-config <file_path>, I get this error:

{“tunnel_error”:true,“name”:“NgrokError”,“attributes”:{}}
Error: Failed to start tunnel, could not establish a connection.

It used to work until few hours ago without any change from my side.

The ngrok.yaml file looks like this:

version: 2
region: us
authtoken: ******************************************

Can you please help me?

Thanks,
Amit

While the error message would be underwhelming, this might be related to a recent upstream change by ngrok, see https://developer.atlassian.com/platform/forge/changelog/#CHANGE-1374:

REMOVED Forge tunnel now requires ngrok account details

The forge tunnel command uses ngrok, which no longer supports anonymous users. To use forge tunnel, you’ll need to provide your ngrok account credentials via forge settings. See Providing credentials for ngrok for instructions.

1 Like

In the space of only a few weeks they changed it from:

forge tunnel --ngrok-config <file>

…to now:

forge settings set ngrok-config-path <file>

But I’m getting the same error on the latest change anyway. My inbox is already flooded with ongoing bug reports to Atlassian, so I’ll let someone else report this.

They need to replace ngrok with something like Cloudflare Tunnel.

1 Like

Try adding runtime in the manifest: NgrokError when using Forge Tunnel - #28 by Alexandr

My guess is they haven’t tested this latest ngrok change using Docker.

Hey all, sorry about the issues you are having.

Just to provide a short history of what has occurred. Ngrok disabled anonymous access, and as a temporary workaround, we informed the community to use --ngrok-config. However, this isn’t the greatest experience for developers to enter the config path every time they tunnel, which is why we’ve now replaced the option with a setting. This was announced in the changelog and it had to be a major version change for the CLI, but we haven’t considered what will it look like for people who bravely upgrade and try the command again - it should have prompted you to set the setting as well. Thanks for providing this feedback.

We are currently researching alternative options to the current tunnelling solution, with the ultimate goal of delivering a frictionless experience. We will post more details on this when we are ready to announce our plans.

Regarding the issue you are facing, we do have tests regarding tunnelling on both old and new runtimes. I just tried myself and it’s working for me. Could you please check if you have any ngrok processes hanging around, as that might cause the new one to reject the connection; if that doesn’t help post the ngrok output of forge tunnel --verbose.

4 Likes

This issue was resolved a day after without any change on my end.
I hope it will not happen again…

The change to use the ngrok configuration file needs to support specifying additional configuration variables. As best I can tell there is no way for me to specify additional variables I need to develop the application locally. I get a randomly assigned ngrok url, which doesn’t allow for me to properly configure the oauth flow locally.

Before I could run something like ngrok http app.local:8080 so I could properly forward requests to a local service. As best I can tell this is now impossible to accomplish with your changes because I cannot specify a tunnel configuration to use because you use a random hash to name the tunnel each time.

I want to be able to do something like

tunnels:
  forge:
    proto: http
    addr: app.local:8080

so I can properly forward requests to the correct location locally for me and forge can use a tunnel name ive defined

1 Like

Sorry, I don’t understand what you’re trying to achieve, and it doesn’t look like it’s dealing with anything that was changed recently. Do you mind starting a new topic and explaining your problem in detail? (E.g. how your app is set up, and whether it worked before.)

I can start a new thread on it, but this is directly related to the changes made as part of the new forge tunnel changes. These changes have made developing locally exceedingly difficult or impossible and I imagine I am not the only Forge app developer who will be experiencing these issues.