# Ngrok

Ngrok is a self-hosted cloud app. ngrok creates secure tunnels from the internet to your local network, letting you expose local development servers, APIs, and applications to the public web for testing, demos, and remote access. It is open source and self-hosted, installable on Docker Hub and Unraid.

Canonical page: https://ourlocalhost.com/app/139/ngrok

## Description

ngrok creates secure tunnels from the internet to your local network, letting you expose local development servers, APIs, and applications to the public web for testing, demos, and remote access.

## Platform availability

Available on 1 of 9 platforms: Unraid.

## Health score

72/100 (Good), based on 4 of 4 factors.
- Maintained: 100 (last commit 8 days ago)
- Popular: 44 (165 GitHub stars)
- Easy to install: 35 (1 install platform, install notes, Docker image)
- Light to run: 95 (512 MB minimum RAM, runs on ARM)

## Links

- GitHub: https://github.com/ngrok/ngrok-docs
- Docker Hub: https://hub.docker.com/r/ngrok/ngrok
- Documentation: https://ngrok.com/docs/api
- Unraid: https://ca.unraid.net/apps/ngrok-116lwf11v272eh?q=ngrok
- Official website: https://ngrok.com/

## Common questions

### Do I need to configure a token before ngrok opens a tunnel?

Yes. Set the ngrok authtoken in an environment variable or directly in the code before starting the tunnel. Without it, ngrok will not open the public tunnel.

### Why can a tunnel start successfully but still give visitors an error?

This can happen if the tunnel addr points to the wrong local port. Set it to the port your app actually listens on, such as 8080 or 3000.

### Is the ngrok URL that is printed after startup persistent?

No. The public https ngrok.app address shown after the tunnel starts is described as a temporary link for people on the internet to reach the app on your machine.

### Can one ngrok account open multiple tunnels at once?

A self-hosted user reported that ngrok only allows a single tunnel per user account.

## Alternatives

- Fossorial Pangolin: Open-source identity-based remote access platform using WireGuard, offering unified management, tunneled connections, granular access contr…
- Headscale: Headscale is an open-source, self-hosted implementation of the Tailscale control server.
- LocaltoNet: Localtonet is a reverse-proxy tunneling service that securely exposes local HTTP, TCP, and UDP services on your network to a temporary publ…
- NetBird: NetBird is an open-source Zero Trust networking platform that makes it easy for engineers to create fast, secure, and private networks with…
- Seawise: Seawise is a Docker client that creates secure outbound connections to share self-hosted apps, such as Jellyfin, Plex, Immich, and Home Ass…
- Serveo: Serveo exposes local servers to the internet using SSH tunneling.
- Tailscale: Private networks made easy.
- Twingate-Connector
- WG Tunnel: This is an alternative Android Application for WireGuard and Amnezia VPN with added features.
- ZeroTier: ZeroTier is an open-source, cross-platform virtual LAN/VPN service that connects your devices and servers into one private network, so you…
- cloudflare-tunnel
- nostr vpn: Nostr VPN turns your Umbrel into a private mesh VPN node for your own devices and trusted groups.

---
Source: Our Local Host (https://ourlocalhost.com/app/139/ngrok), the self-hosted and open-source app directory.
