demo/DEPLOY.md: disable the ttyd package's own service first [skip ci]

Ubuntu's ttyd package starts ttyd.service, which runs login on port 7681;
installed by step 1, it took the port, and try.starshipos-f18.com served
the server's login prompt until it was disabled (2026-11-08). Step 4 now
disables it first and checks what listens on 7681. And the check from
outside, done: ready in 1.5 s, 7 ok, 49 ok, the third visitor busy.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2
This commit is contained in:
Claude
2026-11-08 00:25:26 +00:00
parent 0dbad0f278
commit 4d0b9ab771
+13 -1
View File
@@ -42,13 +42,19 @@ changes. Sessions already running keep theirs.
## 4. The service (~5 min)
Ubuntu's `ttyd` package starts its own `ttyd.service`, which runs **`login` on port 7681** -- our
port. Left running, it takes the port, and Apache hands visitors the server's own login prompt
(found 2026-11-08, after step 5). Disable it first:
```bash
systemctl disable --now ttyd # the package's service: a login prompt on 7681
useradd --system --home /var/lib/starshipos-demo --shell /usr/sbin/nologin starshipos-demo
chown -R starshipos-demo: /var/lib/starshipos-demo
cp demo/starshipos-demo.service /etc/systemd/system/
systemctl daemon-reload && systemctl enable --now starshipos-demo
systemctl status starshipos-demo --no-pager | head -5
curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1:7681/ # 200: ttyd answers
ss -ltnp | grep 7681 # the ttyd of starshipos-demo, nothing else
```
The service expects the checkout's `demo/` at `/opt/starshipos-demo/demo` (step 1 put it there).
@@ -67,7 +73,13 @@ curl -sI https://try.starshipos-f18.com/ | head -3 # 200, its
`apache-demo.conf` lets only the .com frame the terminal (`frame-ancestors`).
## 6. Tell Claude
## 6. The check (done 2026-11-08)
From outside: a session ready 1.5 s after the page opens; `3 4 + .` answers `7 ok`, `: SQUARE DUP *
; 7 SQUARE .` answers `49 ok`; a third visitor at once is told every machine is busy. The
certificate is try.starshipos-f18.com's own (Let's Encrypt), and only the .com may frame it.
## 7. Tell Claude
Then I check from outside: a session reaches `[zuse@Hera] ok>`, `3 4 + .` answers `7 ok`, a third
visitor gets the busy message, and the .com's Try it page shows the console. Then the "Try it" link