This image aims to run a selfhosted ngrok daemon. For example when ngrok.com becomes unavailable, ot you want to use custom domain name feature for free.
docker run -d --name ngrokd \
--restart=always \
-p 4480:4480 \
-p 4444:4444 \
-p 4443:4443 \
sequenceiq/ngrokd \
-httpAddr=:4480 \
-httpsAddr=:4444 \
-domain=ngrok.sequenceiq.com
As you want to run ngrokd
which is not distributed officially, we compiled
it for linux and osx, but as the self hosting docs
describes:
Since the client and server executables are paired, you won't be able to use any other ngrok to connect to this ngrokd, and vice versa.
You also need a new client. For that reason the version numbers is set to 1.7.2
There is a usual one-liner which does the client installation and configuration:
curl -Ls j.mp/ngrok-seq
For reference, or if you want to do only the install step:
brew cask install https://raw.githubusercontent.com/sequenceiq/docker-ngrokd/master/ngrok.rb
curl -o /usr/local/bin/ngrok https://s3-eu-west-1.amazonaws.com/sequenceiq/ngrok_linux
chmod +x /usr/local/bin/ngrok
You should see the 1.7.2
on client side:
> ngrok version
1.7.2
cat > ~/.ngrok <<EOF
server_addr: server.ngrok.sequenceiq.com:4443
trust_host_root_certs: false
EOF
If you used the one-liner, you don't need this.
as ususal
ngrok <port>
The server side will need an A record
something like:
*.ngrok.sequenceiq.com 54.72.21.93