What is this app and what is it for?
OpenSpeedTest - Pure HTML5 Network Performance Estimation Tool
Why OpenSpeedTest?
Secure by Design.
OpenSpeedTest contains Only "STATIC" Files like HTML,CSS & JS.
So you don't need to worry about Security Updates or Hidden Exploits that may compromise your secure environments.
Lightweight, High Performance.
OpenSpeedTest is written in Pure JavaScript. No Third-Party frameworks or libraries were used. SpeedTest script file size is under 8kB gzip. The unexpected side effect of using Pure JavaScript is High Performance.
Run a speed test from Any Device.
OpenSpeedTest will run on Any Web Browser that is IE10 or new.
Ready for Any Display Size and Resolution.
OpenSpeedTest User interface is written in SVG.
You may be asking, why not just use speedtest?
https://www.speedtest.net/
if the meme isn't clear enough, read below.
Because that is basically testing your internet connection It's hosted on a server elsewhere (testing over the internet). Testing internet is fine (i also do this. if only to complain to my isp to demand a rebate because i'm not getting the broadband package speed i signed up for). But the purpose for openspeedtest (at least one possible use) is to self host and run local lan speed test (from your nas to your client device). This way you remove your internet performance out of the equation, when all you wanted to do was test your local networking speed, whether it be wireless or wired performance.
thats not to say you can't use this app to test internetspeed. If you're hosting this on your own server offsite, you can try login to there via vpn then run the apps test. Now you can test the internet performance speed from your client to your offsite server hosting the app. I never did this myself but seems like another useful use case for it. But if you are testing your internet, you're better off just using speedtest since they have many servers at different locations available and it's free. but if you are testing to your own server to test your own performance to that server then this should be fine for that case.
*alternatively you can use the qpkg app found at myqnap if you prefer
https://www.myqnap.org/product/speedtest81/
Installation (using portainer)
Step1:
Have Portainer installed up and running (or container station if you prefer). Refer to my other guide if u don't have this yet.
step2:
In portainer to go app templates > custom templates
now you need to add a docker compose. But where do you get that from
the app page is here
https://hub.docker.com/r/openspeedtest/latest
But all they give you is a docker run command
Code: Select all
sudo docker run --restart=unless-stopped --name openspeedtest -d -p 3000:3000 -p 3001:3001
https://www.composerize.com
Then this pops out as a result
Code: Select all
version: '3.3'
services:
latest:
restart: unless-stopped
container_name: openspeedtest
ports:
- '3000:3000'
- '3001:3001'
image: openspeedtest/latest
step3:
A this point now you should have a working openspeedtest docker app running. To access the web url, it will be http://your nas ip:3000 or https://your nas ip:3001
If you are done testing, feel free to stop the app in portainer. Otherwise, upon qnap nas restart, the app will start up again, unless you manually stop the app at least once.
step4: extra tip - optional
And if you had used my dashy docker app, you can add an item there for your openspeedtest. Basically now you got a fancy gui bookmark to remember the url for this speedtest
step5: usage
If i am testing wifi speed from my mobile device to the QNAP NAS (hosting this app), i will open browser from the android mobile device, go to dashy, click the openspeedtest item link then run it. The result is my wifi speed to the nas.
If i am testing wired speed from desktop to the QNAP NAS, i open a browser, same thing with dashy etc.... Run the test. Then you get your result.
Openspeedtest is a nice way to get an accurate wired and wireless speed test on your lan between your client devices and your QNAP NAS.
I also recommend checking out iperf which is another benchmark tool for testing thoroughput performance for your network performance. If you want a thorough test, use that as well