Container for a web browser

Hi everyone.

Im trying to find a container for ARM64 ROS devices, that can run a web browser on it.

Basically so I can test site access from the router itself and do stuff like run a speedtest via speedtest.net directly on the router.

I work for a ISP and would like to use this on our breakouts.

I tried soooo many containers already and got close with a firefox container but it was so slow and just ended up crashing.

if you have any ideas or know of a web container I can run on a MIK. let me know.

I don't want workarounds like use a linux server. my constraints are this:

it must be in a mikrotik container on a mikrotik arm64 router. must be a web browser or a global speed test website like ookla (Speedtest.net). the router MUST host this no other device.

Containers are not virtual machines, they rely on the host device (RouterOS) for most things. They can't run browsers and other graphical tools. But you can already run "/tool fetch url=" on the router, to test connectivity from the router itself.

You could run a comnmand like tool like "speedtest-cli" that tests download speed from the speedtest.com server to your router. But running a browser is not the right thinking about the issue. You must think what specific tasks you need to accomplish and run tools that do them.

Hi Normis,

I've tried the speedtest cli and it just does not want to work. I've looked at all these containers and can't get it working.

I have tried this for the CLI speedtest.

But can't get it working on CCR2004 (ARM64) ROS 7.19.4

post more details, at which point you ran into trouble and how does it not work? are there any errors or commands that are not accepted?

Hope this helps. I took the commands directly from the github page via the link above and made sure to use the arm64 version.

none of the 192.168.1.2:8080 urls work either.

It says it's running, did you open http://192.168.1.2:8080/ in your PC web browser?


The container is running and RouterOS is doing it's job, but it looks like the developer of this container image has abandoned it and it does not work for other people either, see in the "Issues" section, there are other that say it's always "0.0" like yours: Fails on RB5009 with RoS 7.10.1 · Issue #1 · cdhtlr/MikroTik-Speedtest · GitHub

You can try other containers like "SpeedKetchup". Those will not have step by step instructions for MikroTik specifically though.

We are working on a much improved container experience, likely for RouterOS 7.22

ah that sucks. I will give ketchup a go.

if you have any other recommendations I can try, please let me know!

I love the containers and would like to explore more on what I can host in them! thank you Normis for the help.

thought you might like this, they actually did research on the speed of ketchup xD

1 Like

Check if the container has a DNS resolver. From you screenshot, DNS is empty. Login to the container, with

/container print
/container shell 0

0 in this case is the index of the container as displayed by print, replace with the appropriate number. Then check

cat /etc/resolve.conf

To see whether the file has a line with nameserver xxx.xxx.xxx.xxx. If not try to set the DNS on the container setting and restart the container. Alternatively, edit /etc/resolve.conf in the container shell and add nameserver 8.8.8.8 or something similar.


Otherwise, you can install Alpine (its only 3.5MB) alpine Tags | Docker Hub, then get into its shell and fetch the client from Ookla https://install.speedtest.net/app/cli/ookla-speedtest-1.2.0-linux-aarch64.tgz (with wget) extract (with tar -xzf) and run the command there.

If you install 7.20rc2 you can run the command from outside in RouterOS too (with the cmd parameter of the /container/shell command):

2 Likes

Apline wont pull

For official images you need to prepend library/ to the image (library/alpine:latest). Also don't forget to put something like

tail -f /dev/null

in the Cmd filed so that it doesn't stop immediately.

Also, in case you want to programmatically do something with the result, you can run the speedtest program with -f json and it returns the result in JSON, that RouterOS can parse into array (with deserialize):

1 Like

ok its running but cannot shell into it

You need to run

/container/print

to see the correct number of the alpine container. 0 is probably you other container. But it's better that you give it a name, such as alpine and use the syntax from my previous screenshot:

/container/shell [find name="alpine"]

thanks, only had 1 container. but i guess its got weird syntax.


Im going to try wget and tar ookla file

How do I run this on not ROS 7.20rc2 versions. like 7.17.2 or 7.19.4.

I will update on my test mik to 7.20 for this example though.


container up and shell works on 7.20. but cannot run test. DNS is set and speedtest.net is reachable.

It's a new feature that you can see in the 7.20 changelog:

  • container - added option to execute commands inside a container using "/container/shell cmd= user=" (additional fixes);
1 Like