From 4d0b9ab771a308bd4f01da80de90fd31a20652fa Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 00:25:26 +0000 Subject: [PATCH] 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 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- demo/DEPLOY.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/demo/DEPLOY.md b/demo/DEPLOY.md index fbc8b438..a89b73b5 100644 --- a/demo/DEPLOY.md +++ b/demo/DEPLOY.md @@ -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