I have RB4011iGS+5HacQ2HnD. It is based on arm architecture, and it seems that I can install containers on it. I understand that it is not the best idea to put a container on it, because it does not have an external drive. But I really want to filter out advertising for all devices on the network at once. I followed the instructions from the wiki before starting the container and got this error:
/container add remote-image=adguard/adguardhome:latest interface=veth1 root-dir=adguard mounts=adguard_etc
failure: not allowed by device-mode
At the same time, all other settings seemed to be applied without problems.
If necessary, I can show you the entire order of command execution
Remove the container and re-create and provide the logging=yes from the beginning. You should see a bit more output when it downloads the various layers. I agree the logging is pretty … basic … and will probably not reveil WHY you have this issue.
You specify as root-dir=adguard => This will write on the local flash, you have enough space ??
This was the first thing I tried after your advice to enable logging.
Yes, I write directly to a local drive. In the topic header I wrote a model of my Mikrotik and wrote that I understand that this is not the best idea. But I don’t know how to check how much space is on the local drive.
Although I updated ROS and saw that the packages needed to be updated. The container installation is now successful. Although in the state it writes that it has been stopped. I think that the main problem has been solved, I will read further on how to start a container
Containers are stopped by default after deploying, needs to be started manually /container/run <container_number> and also you can set start-on-boot=yes to autorun container on ROS startup.
Now I have another problem. The container was downloaded, installed, received the status “stopped”, I made a command so that it would start automatically after rebooting Mikrotik
container set start-on-boot=yes 0
I overloaded the router, the logs show that the container has started, the status is “running”, but the address is not pinged, the status is “timeout”. The firewall is disabled, or rather almost empty.
At the same time, it writes in the logs
2023/12/06 16:38:40.922017 [info] go to http://172.17.0.2:3000
That is, in theory the container has started (I assigned this address to the interface with the container)
I can’t access the address in the browser either.
If container VETH is on different bridge than LAN, then this is normal, you need firewall rule fo accept forward traffic in/out containers bridge or VETH IP (depends how you need to secure containers network).
Of course it is on another bridge. I did as in the instructions. The bridge itself pings (172.17.0.1)
Unfortunately, I don’t understand the firewall rules. I just started studying them, but decided to get rid of online advertising first. But I don’t have them. I disabled the existing rule.
I didn’t know name you assigned to containers bridge, I assumed containers since is like that in tutorial, but in your case is dockers, then replace containers with dockers in that rule. in/out-interface in rules can be interface (not all) or bridge.