Unlike some very popular boards (eg RPi) I don't think there are many (if any? - others can shout at me if I'm wrong ;-) 3rd party commercial 'hats'/expansion boards. Some contributors have built their own expansions for their own needs (browse through the Projects forum to see what others are doing), but as for commercial boards specifically targeted at the Onion devices, I believe that the Onion store will be your likely source.
Having said that, the point of the devices (IMHO) are to spark your own ingenuity and get you to explore and build your own projects and if that means taking it to the board level, then that is what you should do, as have others. I see the commercial expansions from Onion as tools for prototyping and in some cases, all that is necessary to realise your own project. But the flexibility is there for you to do with them as you choose - or not even use them at all and instead design your own.
I spent a week trying different configurations to solve this issue, the two main docker platforms I list below:
Windows 10 running linux docker container
Ubuntu 18.04 LTS running linux docker container
The final result on both platforms were consistent:
libwebsockets.h not found error
Mosquitto build fails
Not enough space available on the container
Workarounds (note: this works on a failed container):
Increase the default docker container size allocated by the docker daemon form 20Gb to 40Gb. I found the final build is 20.7Gb total and takes about 7 hours on Windows and 4 hours on Ubuntu...Give or take. This is done by modifying the docker daemon.json file.
docker attach <container ID> (note: CTRL-p CTRL-Q to SIGKILL)
Attach to the docker container and use VIM to modify the .config file and:
a. Search for all instances of the keyword "mosquitto" and comment them out from the build configuration. If you need mosquitto, you'll have to find another way around the issue.
note: I recommend addding the "is not used" value after commenting out the line
Either run make menuconfig to add libwebsockets library and the libwesockets examples to the build configuration. Or while you're modifying the .config file, do a search using VIM for libwebsockets and add the library and examples to the build.
note: I built libwebsockets library by [using an * in menuconfig or =y in .config they are accomplishing the same thing] and set the libwebsockets examples [M in menuconfig or =m in .config]
make -j1 V=s
Run make [options] inside of the attached container. Docker automatically creates several intermediate containers when necessary and I found that using a Dockerfile can be problematic for Cross-Compile build process.
Yes, I agree with you. This seems much more elegant.
I started wondering about their function while thinking whether it is possible to provide a fast interface between multiple Omegas. It seems this is not exactly what I was looking for but still a very powerful mechanism.
Pi Zero W is a loss leader. That part can someday disappear. I agree spec wise its better but Onion is much better when handling network tasks IMO. Dual WiFi, 5 Ethernet Ports, etc. It's also PCB board solderable. If the Pi Zero W was PCB board solderable I would of went with that part.