services: openwrt: container_name: openwrt image: albrechtloh/openwrt-docker:latest # for latest OpenWrt stable version #image: albrechtloh/openwrt-docker:openwrt-2410-snapshot # for latest OpenWrt 24.10 snapshot version #image: albrechtloh/openwrt-docker:openwrt-master-snapshot # for latest OpenWrt master version #image: openwrt-docker build: context: . dockerfile: Dockerfile args: OPENWRT_VERSION: "23.05.4" #OPENWRT_VERSION: "master" environment: # Define which physical or virtual interfaces shall be attach direct to OpenWrt # If WAN_IF/LAN_IF is missing then "host" mode is selected # - WAN_IF: "host" # Usage of container host Ethernet connection as WAN. WARNING: Bad performace because of user space Ethernet implementation. #WAN_IF: "none" # No WAN interface defined. This is useful if OpenWrt WAN acts a USB Wi-Fi client or as USB cellular modem #WAN_IF: "enx00e04c0407a6" # Use this option to define a specific physical Ethernet interface # - #LAN_IF: "host" # Usage of container host Ethernet connection as LAN. WARNING: Bad performace because of user space Ethernet implementation. LAN_IF: "veth" # veth pair between OpenWrt and host system. The host Ethernet interface IP is fixed to 172.31.1.2/24 #LAN_IF: "veth,nofixedip" # veth pair between OpenWrt and host system. No host Ethernet interface configuration #LAN_IF: "enx00e04d68033f" # Use this option to define a specific physical Ethernet interface # Make LuCI OpenWrt web interface accessible via host LAN FORWARD_LUCI: "true" # USB passthrough # Format : like 'lsusb' is given # Currently only two USB devices are supported #USB_1: "0bda:8153" #USB_2: "0e8d:7961" # Define number of VM CPUs # If unset -> 1 CPU_COUNT: 2 # Define amount of VM memory in MB # If unset -> 256 RAM_COUNT: 256 #DEBUG: "y" ports: # Port 8006 is console tty web VNC - 8006:8006 # Port 8000 is available only when Docker WAN network is used. # Use script /usr/bin/fw_wan_open_http to open the port. Works only if WAN_IF=host #- 8000:8000 # SSH # Use script /usr/bin/fw_wan_open_ssh to open the port. Works only if WAN_IF=host #- 8022:8022 stop_grace_period: 2m restart: on-failure # The following settings are mandatory to run the container devices: - /dev/kvm device_cgroup_rules: - 'c *:* rwm' cap_add: - NET_ADMIN pid: "host" privileged: true volumes: - /dev:/dev/ - data:/storage/ volumes: data: