Starting the container, replace with your target, from these choices:
- x86-64
- armvirt-32
- armvirt-64
and run the following
docker run --rm -it -p 8880:80 -p 8443:443 -p 8822:22 openwrtorg/rootfs:<ARCH>-19.07.3
docker run --rm -it -p 8880:80 -p 8443:443 -p 8822:22 openwrtorg/rootfs:armvirt-32-19.07.3
docker run --rm -it -p 8880:80 -p 8443:443 -p 8822:22 openwrtorg/rootfs:armvirt-64-19.07.3
docker run --rm -it -p 8880:80 -p 8443:443 -p 8822:22 openwrtorg/rootfs:x86-64-19.07.3
In the container, this is my packagestrap:
opkg update; opkg list-upgradable > /tmp/listup; sed -e 's/ .*$//' /tmp/listup | xargs opkg upgrade;
opkg install luci-app-ocserv luci-app-ddns luci-app-upnp luci-app-samba4 luci-app-uhttpd apache nano \
apache-mod-http2 apache-mod-proxy apache-mod-proxy-html apache-mod-ssl apache-mod-webdav \
apache-mod-session-crypto apache-utils luci-app-acme luci-app-transmission luci-app-lxc \
luci-app-nlbwmon luci-app-sqm
I dunno, you tell me. This is a quick hack to get it set up and play with it. I'm assuming giving it privileged access to your whole system would make the container a bona fide router layer within an active Docker instance, and you might be able to straight up run a router via Docker.
Not gonna lie, this might end up very useful on a few ARM boards I have.