A Docker image for ngrok, introspected tunnels to localhost. The image is built using Alpine Linux to keep the footprint as small as possible.
The container will tunnel any traffic by using the ngrok.yml
file configuration. You can specify configuration via CONFIG_STRING
environment variable or by using file /home/ngrok/ngrok.yml
as a volume.
Create the ngrok.yml
configuration file:
authtoken: your_auth_token
tunnels:
web:
addr: 8080
proto: http
Specify the configuration file as a volume:
docker run \
--name ngrok \
--volume $(pwd)/ngrok.yml:/home/ngrok/ngrok.yml \
itsmepetrov/ngrok
Create the configuration file ngrok.yml
:
authtoken: your_auth_token
tunnels:
web:
addr: 8080
proto: http
Specify the configuration file as CONFIG_STRING
variable:
docker run \
--name ngrok \
--env CONFIG_STRING="$(cat ngrok.yml)" \
itsmepetrov/ngrok
Create the docker-compose.yml
file:
version: '3'
services:
ngrok:
image: itsmepetrov/ngrok:latest
restart: always
network_mode: host
environment:
CONFIG_STRING: |
authtoken: your_auth_token
tunnels:
web:
addr: 8080
proto: http
Special thanks to @wernight becase it's based on his work.
Licensed under MIT