openwrt-docker
OpenWrt docker container for x86_64, arm64 and Weidmueller u-OS
50K+
Source code: https://github.com/AlbrechtL/openwrt-docker
This Docker container brings you OpenWrt, a software-based router solution, in an easy-to-use setup. Unlike other OpenWrt containers, this one provides a full system emulation, complete with OpenWrt's own Linux kernel. Thanks to powerful technologies like KVM and macvtap, OpenWrt runs at nearly native speeds here. We use the original OpenWrt binary builds, so most features should work seamlessly. If you notice any features that aren’t working as expected, please let us know!
Because OpenWrt doesn't provide a user installed package update mechanism, all required packages needs to be included into the OpenWrt rootfs image. This Docker images add the following software to the OpenWrt rootfs:
Adapt docker-compose.yml to your needs and run docker compose up.
Images are available at https://hub.docker.com/r/albrechtloh/openwrt-docker.
Currently, three images are available. For all of these images automated tests are applied.
albrechtloh/openwrt-docker:latest Latest OpenWrt stable version e.g. 24.05.5albrechtloh/openwrt-docker:openwrt-2410-snapshot Latest OpenWrt 24.10 snapshot versionalbrechtloh/openwrt-docker:openwrt-master-snapshot Latest OpenWrt master versionVNC console in web browser

OpenWrt LUCI web interface

LAN_IF="host" and WAN_IF="host" is supported because WSL doesn't support the macvtab driver.LAN_IF: "veth,nofixedip". See https://github.com/AlbrechtL/openwrt-docker/issues/8 for details.kvm and macvtab driver enabled in the Linux kernel.LAN_IF: "veth" mode the host virtual Ethernet interface IP address is fixed to 172.31.1.2/24. How can I change it?You can use the option nofixedip e.g. LAN_IF: "veth,nofixedip" to avoid that an IP address is set after interface creation. But it is your responsibility to configure the Ethernet interface correctly. The OpenWrt LuCI web interface forwarding is only working correctly when the virtual Ethernet interfaces are configured correctly. Furthermore, the OpenWrt LuCI web interface forwarding is expecting OpenWrt at the IP address 172.31.1.1.
Clone this repo and run
docker build -t openwrt-docker .
If you like to specify a specific OpenWrt version, you can do
docker build -t openwrt-docker . --build-arg OPENWRT_VERSION="23.05.4"
or for the latest development master. The --no-cache option is necessary to get always the newest version.
docker build --no-cache -t openwrt-docker . --build-arg OPENWRT_VERSION="master"
I would like to thanks to following Open Source projects. Without these great works this container would not be possible
This software container is a proof of concept and has not undergone comprehensive cybersecurity assessments. Users are cautioned that potential vulnerabilities may exist, posing risks to system security and data integrity. By deploying or using this container, users accept the associated risks, and the developers disclaim any responsibility for security incidents or data breaches. A thorough security evaluation, including penetration testing and compliance checks, is strongly advised before production deployment. The software is provided without warranty, and users are encouraged to provide feedback for collaborative efforts in addressing security concerns. Users acknowledge reading and understanding this disclaimer, assuming responsibility for ensuring their environment's security.
Content type
Image
Digest
sha256:35e2b7b7e…
Size
63.5 MB
Last updated
about 13 hours ago
docker pull albrechtloh/openwrt-docker:openwrt-master-snapshot