version: '3.8' services: openwrt-build: build: context: . dockerfile: Dockerfile container_name: openwrt-build # image: openwrt-build:latest user: "1000:1000" tty: true stdin_open: true command: bash /home/builduser/build.sh volumes: # Firmware outputs mapped directly to host filesystem - ./bin:/home/builduser/openwrt/bin # Source tarballs cached on host to avoid re-downloading across builds - ./dl:/home/builduser/openwrt/dl # Persistent build configuration file (.config) - ./.config:/home/builduser/openwrt/.config # build script - ./build.sh:/home/builduser/build.sh # Named volumes for heavy build artifacts (maximizes I/O performance) - openwrt-build-dir:/home/builduser/openwrt/build_dir - openwrt-staging-dir:/home/builduser/openwrt/staging_dir - openwrt-ccache:/home/builduser/.ccache volumes: openwrt-build-dir: openwrt-staging-dir: openwrt-ccache: