feat: add in-browser terminal with per-user docker sessions and drive mount

Add a web-based terminal accessible at /terminal, backed by per-user ephemeral Docker containers. Each user gets an isolated Ubuntu container with their drive directory mounted at /root, memory/cpu limits, and a prepared .bashrc/.profile. The terminal uses xterm.js over a WebSocket binary transport for full ANSI support. Also migrate the base Docker image from Alpine to Debian bookworm (python:3.14.0a6-bookworm), remove wkhtmltopdf dependencies, and fix the compose volume path from /media/storage/snek/molodetz.nl/drive to /media/storage/snek.molodetz.nl/drive.
This commit is contained in:
2025-03-22 18:57:39 +00:00
parent 20c2209162
commit 3ed651d23f
10 changed files with 329 additions and 51 deletions
Executable
BIN
View File
Binary file not shown.