/docker-ngrok

A Docker image for ngrok, introspected tunnels to localhost

Primary LanguageDockerfileMIT LicenseMIT

ngrok

Docker repository Build passing

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.

Supported tags

Usage

Configuration File

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

Environment Variable

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

Docker Compose

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

Credits

Special thanks to @wernight becase it's based on his work.

License

Licensed under MIT