- server.py: Flask-free Python web server on port 80
- 4-step wizard: network → tier → tools → live install log
- DHCP or static IP support
- SSE log streaming, handles phase-1 reboot gracefully
- user-data: deploy web UI service instead of TUI (whiptail)
- sets hostname to cezenai (accessible as cezenai.local)
- installs python3, avahi-daemon
- entry.yml: skip roles based on skip_roles var from web UI
- install.sh: reads /opt/cezen/install.conf for tier & skip_roles