

Exactly, since KasmVNC can run GUI programs in the browser and the Linux server.io base image is just Debian, it was trivial to just run it with Emacs instead. I much prefer Emacs over VS Code because of Org Mode. While VS Code works well in a browser. It isn’t what I wanted.
Here is where I have posted my Emacs Dockerfile. It might be a little out of date. Emacs Docker
EDIT: The Dockerfile also installs the fonts I like for Emacs along with git and hunspell.
EDIT: You could also probably achieve something similar with a Docker container run ning Apache Guacamole.
You don’t need DHCP, you can just use DNS and then set up different blocking groups based on the device.
The problem with this solution is that is it opt in. You would need to change all the wifi settings on each device separately to point to Pi-Hole as the DNS. This is something that could easily be disabled as a 12 year old would probably be able to figure out how to change the settings on their mobile devices or computer with a Google search.