For past few days, I have been experimenting with reef-pi in standalone mode where it runs as its own wifi hotspot. This is to facilitate my home migration during which i expect some of the builds to not have internet access. I want reef-pi to run and be accessible even when wifi network is not accessible. If this works, it also means I can run reef-pi powered by a power bank (I shared some benchmarks before) and the setup (mobile power and no network requirement) means I can use reef-pi during a power outage as well as in transit, when my corals will be in containers for several hours.
Following document describe how to configure raspberry pi to run as wifi hotspot:
https://www.raspberrypi.org/documentation/configuration/wireless/access-point.md
After following the guide, I was successfully able to run Pi as a hotspot and access reef-pi running in it by connecting to the hotspot. Everything works as expected.
This setup is more involved than the normal reef-pi setup. It involves installing additional packages, editing configuration files and executing few commands. This is very common for getting new features up in linux userland. I am doing similar things to setup home assistant, octo print and handful of other smart home softwares. There are purpose made tools for this, called configuration management system.
My current apartment setup has 11 pi doing various works, and I expect the number to go up in the new home, covering blinders, sprinklers, gardening system, presence detection and more. Scale like this justifies a full-fledged configuration management system. It will streamline the update and patch management. So I started working on chef cookbooks (a popular configuration management system) for my current setup, a couple of week back. Today I am open-sourcing them:
https://github.com/reef-pi/chef-repo.
I don't expect them to be readily useful to others, but once they are polished up, we'll work on some reef-pi integration where users will be able to reconfigure their controller to act as hotspot, or to upgrade reef-pi or to change /boot/config.txt (i2c, one wire etc configurations) using the reef-pi UI directly, and reef-pi will use chef underneath to reconfigure the system.
I know few of you have devops experience, please help us out with code review, testing or any feedback you may have.