-
Here's a fun experiment: an instance of the SerenityOS WebServer (github.com/SerenityOS/serenity/tree/master/Userland/Services/WebServer), running on Serenity, on the internet, serving /. What could go wrong? :^) serenity.linus.dev/webserver/
-
The available files are everything that is built & copied into _disk_image - nothing more, nothing less. But it's not just serving a static copy of those files, e.g. /proc is a live view on the underlying system: serenity.linus.dev/webserver/proc/
-
I should note that this is a separate instance from the one running on the same domain at /, and unlike the VNC QEMU it doesn't do a forced restart every N minutes, has no user input, and generally a lot less stuff running - so it'll be interesting if, when, and why it dies.
-
The system runs in text mode with the default init=/bin/SystemServer. If someone manages to crash the WebServer it should be automagically restarted: serenity.linus.dev/webserver/etc/SystemServer.ini
-
Some fun stuff: - Uptime as a service - serenity.linus.dev/webserver/proc/uptime - Fortunes "API" (it's a JSON file!) - serenity.linus.dev/webserver/res/fortunes.json - The Browser default & testing pages: serenity.linus.dev/webserver/res/html/misc/welcome.html
-
I don't know if anyone has done this before. I think I've seen the idea on the Discord server, but mostly as a meme. I might be the first person running WebServer in production 😅
-
In the past we had issues with freezes after some time (which led to youtube.com/watch?v=Snbau79vEaE), and most people never have the VM running more than a few minutes. Seeing how stable this thing is will be interesting!