1. Installing netdata
Netdata can be installed in various ways, you can follow official netdata install documentation (here (opens in a new tab)). However in this tutorial we shall be using docker image (opens in a new tab) to run netdata ( see netdata with docker (opens in a new tab) ).
$ docker run -d --name=netdata_localxpose \
-p 19999:19999 \
-v netdatalib:/var/lib/netdata \
-v netdatacache:/var/cache/netdata \
-v /etc/passwd:/host/etc/passwd:ro \
-v /etc/group:/host/etc/group:ro \
-v /proc:/host/proc:ro \
-v /sys:/host/sys:ro \
-v /etc/os-release:/host/etc/os-release:ro \
--restart unless-stopped \
--cap-add SYS_PTRACE \
--security-opt apparmor=unconfined \
netdata/netdata
You may add/remove the the bind mounts -v as per your necessity.
You should see your netdata container running.
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
83ef28036e03 netdata/netdata "/usr/sbin/run.sh" 1 minutes ago Up 1 minutes 0.0.0.0:19999->19999/tcp netdata_localxpose
Once the docker container is created you can visit the netdata web UI at http://localhost:19999 (opens in a new tab).
2. Expose netdata port
After we have successfully installed and started netdata, we can start to expose port 19999.
19999 is the default port of netdata web, you can change it by editing the netdata.conf file.
[web]
default port = 19999 #Change the default port here.
Once done, you can proceed to forward the port with LocalXpose.
loclx tunnel http --basic-auth user:pass --to :19999
# We can use localxpose's basic auth feature to set a password authentication.
loclx tunnel http --basic-auth user:pass --to :19999
✓ Creating HTTP tunnel...
Tunneling http://3ftj8wzsjmlc.loclx.io --> :19999
Tunneling https://3ftj8wzsjmlc.loclx.io --> :19999
If you want to use your custom domain name or use your own SSL certs please follow ( create custom domain name & make lets encrypt certificate )
3. Use netdata
Once you finish tunneling, you will receive a LocalXpose domain as in the screenshot above. Use the provided domain to view your netdata web UI.
The server should prompt for authentication, here you will provide the authentication credentials you have passed with **--basic-auth **option.
Once you provide your credentials clock on 'Sign In'. You should see your netdata web dashboard.
This is how you can expose your local netdata web server & access it from anywhere around the world.