Lab 3 Terminal UI

This commit is contained in:
2026-04-13 12:10:19 -06:00
parent 9f3af49845
commit 7e4d35b6a3
8 changed files with 479 additions and 3 deletions
+32
View File
@@ -0,0 +1,32 @@
# Lab 3 Embedded Terminal Deployment
Lab 3 now expects a same-origin WeTTY endpoint mounted at `/wetty` by default.
## Runtime Contract
- Run WeTTY on the lab host, bound to `127.0.0.1`
- Mount it behind the same public origin as the Next.js app
- Let the reverse proxy handle WebSocket upgrade for `/wetty`
- Launch WeTTY as root so it uses `/bin/login` locally
- Keep SSH available as a fallback path, not the primary student UX
Example launch command:
```bash
wetty --host 127.0.0.1 --port 3001 --base /wetty --allow-iframe
```
## Proxmox VM Shape
- Install WeTTY as a system service
- Keep it bound to localhost only
- Reverse proxy `/wetty` to the local WeTTY port over HTTPS
## Docker Shape
- Include WeTTY in the lab image
- Include the `login` and PAM pieces needed for `/bin/login`
- Run WeTTY under an init or supervisor process
- Reverse proxy `/wetty` to the local WeTTY port over HTTPS
If a specific container image cannot support `/bin/login`, the operational fallback is WeTTY SSH mode to localhost.