summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryyamashita <yyamashita@hetzner.yyamashita.com>2026-06-20 09:45:16 +0900
committeryyamashita <yyamashita@hetzner.yyamashita.com>2026-06-20 09:45:16 +0900
commit1ad98cc2f9f8a5950aec998a6daacec381cbe2c4 (patch)
treed9a8c133a0eede39ab8bd24e94f6422cc74c4289
parent6e41cc1b7a6769608cacb456bae21aa0d7704f59 (diff)
Add Restart Claude Sessions command to hetzner-admin
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
-rw-r--r--claude/restart-sessions.sh6
-rw-r--r--hetzner-admin/app.py1
-rwxr-xr-xhetzner-admin/run-command.sh3
3 files changed, 10 insertions, 0 deletions
diff --git a/claude/restart-sessions.sh b/claude/restart-sessions.sh
new file mode 100644
index 0000000..5f0e1b4
--- /dev/null
+++ b/claude/restart-sessions.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+set -e
+uid=$(id -u yyamashita)
+runuser -u yyamashita -- \
+ env XDG_RUNTIME_DIR=/run/user/$uid DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$uid/bus \
+ bash -c 'systemctl --user list-units --plain --no-legend "claude-code@*.service" | awk "{print \$1}" | xargs -r systemctl --user restart'
diff --git a/hetzner-admin/app.py b/hetzner-admin/app.py
index ccaadce..c3dbffc 100644
--- a/hetzner-admin/app.py
+++ b/hetzner-admin/app.py
@@ -19,6 +19,7 @@ COMMANDS = [
("Restart Mail", "docker compose -f /app/infra/mail/docker-compose.yml restart"),
("Restart cgit", "docker compose -f /app/infra/cgit/docker-compose.yml restart"),
("Restart Admin", "docker compose -f /app/infra/hetzner-admin/docker-compose.yml restart"),
+ ("Restart Claude Sessions", "bash /app/infra/claude/restart-sessions.sh"),
("Reboot Server", "reboot"),
]
diff --git a/hetzner-admin/run-command.sh b/hetzner-admin/run-command.sh
index 50280b9..0ed9fe3 100755
--- a/hetzner-admin/run-command.sh
+++ b/hetzner-admin/run-command.sh
@@ -18,6 +18,9 @@ case "$SSH_ORIGINAL_COMMAND" in
"docker compose -f /app/infra/hetzner-admin/docker-compose.yml restart")
exec docker compose -f /app/infra/hetzner-admin/docker-compose.yml restart
;;
+ "bash /app/infra/claude/restart-sessions.sh")
+ exec bash /app/infra/claude/restart-sessions.sh
+ ;;
"reboot")
exec reboot
;;