ttyd serves a single-file xterm.js UI styled with the LotusGuild TDS (web_template base.css). Sessions live in a dedicated tmux server unit (devdesk-tmux.service), so restarting or upgrading the web unit never stops Claude. Each named session maps to a project directory. A Claude SessionStart hook records the conversation ID, so after a reboot the session resumes that exact conversation. - bin/devdesk: attach / new / ls / end / pick, with an fzf picker - ttyd requires a credential that NPM injects; origin check enabled - debian/: dh 13 with --no-stop-on-upgrade for the tmux unit, bundled sha256-verified ttyd 1.7.7, lintian overrides, man page - CI: lint, test, build, smoke-test, artifact; v* tags publish to the Gitea apt registry and create a release Refs: tinker ticket 887531976 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
20 lines
560 B
Makefile
Executable File
20 lines
560 B
Makefile
Executable File
#!/usr/bin/make -f
|
|
|
|
%:
|
|
dh $@
|
|
|
|
# Build runs `make`, which fetches the pinned ttyd release and verifies its sha256.
|
|
|
|
# The tmux server unit owns every Claude process: never stop or restart it on
|
|
# upgrade. The web unit (ttyd) is safe to restart and does so after upgrades.
|
|
override_dh_installsystemd:
|
|
dh_installsystemd --name=devdesk-tmux --no-stop-on-upgrade
|
|
dh_installsystemd devdesk.service
|
|
|
|
# ttyd is an upstream static binary; keep it byte-identical to its published checksum.
|
|
override_dh_strip:
|
|
dh_strip -Xbin/ttyd
|
|
|
|
override_dh_dwz:
|
|
dh_dwz -Xbin/ttyd
|