# Lab 3 Embedded Terminal Deployment

Lab 3 now prefers a runtime config artifact served at `/courseware-runtime.json`.

Default runtime config:

```json
{
  "lab3TerminalUrl": "http://127.0.0.1:7681/wetty"
}
```

## Runtime Contract

- Bind `sshd` to `127.0.0.1:22` only
- Run WeTTY on the lab host and expose it to the browser at `/wetty`
- Point WeTTY at localhost SSH without pre-setting the username so users see a normal login prompt
- Let the host control which existing local accounts are allowed to sign in

Example launch command:

```bash
wetty --host 0.0.0.0 --port 7681 --base /wetty --allow-iframe --ssh-host 127.0.0.1 --ssh-port 22 --ssh-auth password
```

## Linux / WSL Shape

- Install `openssh-server`
- Restrict `sshd` to `127.0.0.1`
- Install WeTTY with the managed Node runtime
- Generate `/courseware-runtime.json` from deployment-time values
- Start the wiki and WeTTY as separate managed services
