{"id":13437382,"url":"https://github.com/wernight/docker-ngrok","last_synced_at":"2026-01-23T17:50:46.173Z","repository":{"id":34061731,"uuid":"37847612","full_name":"wernight/docker-ngrok","owner":"wernight","description":"An Ngrok v2 container based on wizardapps/ngrok and fnichol/ngrok","archived":false,"fork":false,"pushed_at":"2024-06-16T12:32:55.000Z","size":33,"stargazers_count":455,"open_issues_count":27,"forks_count":144,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-03-19T06:41:55.406Z","etag":null,"topics":["docker","docker-image","ngrok","tunnel"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/wernight/ngrok/","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":"Unmaintained","scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wernight.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-06-22T09:41:01.000Z","updated_at":"2025-01-13T07:28:16.000Z","dependencies_parsed_at":"2024-11-03T14:00:35.835Z","dependency_job_id":null,"html_url":"https://github.com/wernight/docker-ngrok","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/wernight/docker-ngrok","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wernight%2Fdocker-ngrok","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wernight%2Fdocker-ngrok/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wernight%2Fdocker-ngrok/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wernight%2Fdocker-ngrok/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wernight","download_url":"https://codeload.github.com/wernight/docker-ngrok/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wernight%2Fdocker-ngrok/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28697328,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-23T17:25:48.045Z","status":"ssl_error","status_checked_at":"2026-01-23T17:25:47.153Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-image","ngrok","tunnel"],"created_at":"2024-07-31T03:00:56.516Z","updated_at":"2026-01-23T17:50:46.142Z","avatar_url":"https://github.com/wernight.png","language":"Shell","funding_links":[],"categories":["HarmonyOS","docker"],"sub_categories":["Windows Manager"],"readme":"[Docker Hub](https://hub.docker.com/r/wernight/ngrok/)\n\n# Supported tags and respective `Dockerfile` links\n\n  * [`latest`](https://github.com/wernight/docker-ngrok/blob/master/latest/Dockerfile)\n  * [`armhf`](https://github.com/wernight/docker-ngrok/blob/master/armhf/Dockerfile.armhf)\n\nA [Docker][docker] image for [ngrok][ngrok] v2, introspected tunnels to localhost.\nIt's based on the excellent work of [wizardapps/ngrok][wizardapps/ngrok] and [fnichol/ngrok][fnichol/ngrok].\n\n\n## Features\n\n  * **Small**: Built using [Alpine][alpine].\n  * **Simple**: Just link as `http` or `https` in most cases, see below; exposes ngrok server `4040` port.\n  * **Secure**: Runs as non-root user with a random UID `6737` (to avoid mapping to an existing UID).\n\n\n## Configuration\n\nTo see command-line options, run `docker run --rm wernight/ngrok ngrok --help`.\n\n\n## Usage\n\nSupposing you've an Apache or Nginx Docker container named `web_service_container` listening on port 80:\n\n    $ docker run --rm -it --link web_service_container wernight/ngrok ngrok http web_service_container:80\n\n\n### Environment variables\n\n*Please consider using directly the command-line arguments of Ngrok.*\n\nIf you use the default `CMD` (i.e. don't specify the ngrok command-line but only `wernight/ngrok`),\nthen you can use instead envrionment variables magic below.\n\nYou simply have to link the Ngrok container to the application under the `app` or `http` or `https` aliases, and all of the configuration will be done for you by default.\n\nAdditionally, you can specify one of several environment variable (via `-e`) to configure your Ngrok tunnel:\n\n  * `NGROK_AUTHTOKEN` - Authentication Token for your Ngrok account. This is needed for custom subdomains, custom domains, and HTTP authentication.\n  * `NGROK_SUBDOMAIN` - Name of the custom subdomain to use for your tunnel. You must also provide the authentication token.\n  * `NGROK_HOSTNAME` - Paying Ngrok customers can specify a custom domain. Only one subdomain or domain can be specified, with the domain taking priority.\n  * `NGROK_REMOTE_ADDR` - Name of the reserved TCP address to use for a TCP tunnel. You must also provide the authentication token.\n  * `NGROK_USERNAME` - Username to use for HTTP authentication on the tunnel. You must also specify an authentication token.\n  * `NGROK_PASSWORD` - Password to use for HTTP authentication on the tunnel. You must also specify an authentication token.\n  * `NGROK_PROTOCOL` - Can either be `HTTP`, `TLS` or `TCP`, and it defaults to `HTTP` if not specified. If set to `TCP`, Ngrok will allocate a port instead of a subdomain and proxy TCP requests directly to your application.\n  * `NGROK_PORT` - Port to expose (defaults to `80` for `HTTP` protocol, 443 for `TLS` protocol). If the server is non-local, the hostname can also be specified, e.g. `192.168.0.102:80` or `dev.local:443`.\n  * `NGROK_REGION` - Location of the ngrok tunnel server; can be `us` (United States, default), `eu` (Europe), `ap` (Asia/Pacific) or `au` (Australia)\n  * `NGROK_LOOK_DOMAIN` - This is the domain name referred to by ngrok. (default: localhost).\n  * `NGROK_BINDTLS` - Toggle tunneling only HTTP or HTTPS traffic. When `true`, Ngrok only opens the HTTPS endpoint. When `false`, Ngrok only opens the HTTP endpoint\n  * `NGROK_HEADER` - Rewrites the Host header for incoming HTTP requests to determine which development site to display.\n  * `NGROK_DEBUG` - Toggle output of logs. When `true`, Ngrok will output logs to stdout.\n\n#### Full example\n\n 1. We'll set up a simple example HTTP server in a docker container named `www`:\n\n        $ docker run -v /usr/share/nginx/html --name www_data busybox true\n        $ docker run --rm --volumes-from www_data busybox /bin/sh -c 'echo \"\u003ch1\u003eYo\u003c/h1\u003e\" \u003e /usr/share/nginx/html/index.html'\n        $ docker run -d -p 80 --volumes-from www_data --name www nginx\n        $ curl $(docker port www 80)\n        \u003ch1\u003eYo\u003c/h1\u003e\n\n 2. Now we'll link that HTTP server into an ngrok container to expose it on the internet:\n\n        $ docker run -d -p 4040 --link www:http --name www_ngrok wernight/ngrok\n\n 3. You can now access the [API][ngrok-api] to find the assigned domain:\n\n        $ curl $(docker port www_ngrok 4040)/api/tunnels\n\n    or access the web UI to see requests and responses:\n\n        $ xdg-open http://$(docker port www_ngrok 4040)\n\n\n### Helper\n\nFor common cases you may want to create an alias in your `~/.profile` (or `~/.bashrc`, `~/.zshrc`, or equivalent):\n\n    function docker-ngrok() {\n      docker run --rm -it --link \"$1\":http wernight/ngrok ngrok http http:80\n    }\n    # For ZSH with Oh-My-Zsh! and 'docker' plugin enabled, you can also enable auto-completion:\n    #compdef __docker_containers docker-ngrok\n\nThen to run the simple example just do `docker-ngrok web_service_container`.\n\nFor non dockerized http targets consider this helper function:\n\n    function expose-ngrok() {\n      docker run --rm --net=host -e NGROK_PORT=\"$1\" wernight/ngrok\n    }\n\nand then visit [localhost:4040](http://localhost:4040) for receiving the links.\n\n\n## Feedbacks\n\nReport issues/questions/feature requests on [GitHub Issues][issues].\n\nPull requests are very welcome!\n\n[issues]:           https://github.com/wernight/docker-ngrok/issues\n[docker]:           https://www.docker.io/\n[ngrok]:            https://ngrok.com/\n[ngrok-api]:        https://ngrok.com/docs#client-api\n[alpine]:           https://hub.docker.com/_/alpine\n[wizardapps/ngrok]: https://hub.docker.com/r/wizardapps/ngrok\n[fnichol/ngrok]:    https://hub.docker.com/r/fnichol/ngrok\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwernight%2Fdocker-ngrok","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwernight%2Fdocker-ngrok","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwernight%2Fdocker-ngrok/lists"}