diff options
| -rw-r--r-- | Deploy.md | 25 | ||||
| -rw-r--r-- | scripts/claude-daemon-setup.sh | 52 |
2 files changed, 77 insertions, 0 deletions
@@ -60,6 +60,31 @@ ssh golive 'docker logs whois-app -f' 4. `git remote add hetzner golive:/var/git/<name>.git` 5. `git push hetzner master` +## Claude Code リモートセッション(デーモン) + +各リポジトリに対して Claude Code を常駐プロセスとして起動する。 + +```bash +scp scripts/claude-daemon-setup.sh golive:~/ +ssh golive 'bash claude-daemon-setup.sh' +``` + +起動後は [https://claude.ai/code](https://claude.ai/code) から各リポジトリのセッションに接続できる。 + +| サービス名 | 対象ディレクトリ | +|---|---| +| `claude-infra` | `/app/infra` | +| `claude-tokyo` | `/app` | +| `claude-whoisband` | `/app/whois-band` | + +```bash +# 状態確認 +ssh golive 'systemctl status claude-tokyo' + +# ログ確認 +ssh golive 'journalctl -u claude-tokyo -f' +``` + ## 初回サーバーセットアップ(再構築時) ```bash diff --git a/scripts/claude-daemon-setup.sh b/scripts/claude-daemon-setup.sh new file mode 100644 index 0000000..35f5416 --- /dev/null +++ b/scripts/claude-daemon-setup.sh @@ -0,0 +1,52 @@ +#!/bin/bash +# Set up Claude Code remote-control daemons for each app repo (run as root on Hetzner VPS). +set -e + +# Install Claude Code if not present +if ! command -v claude &>/dev/null; then + npm install -g @anthropic-ai/claude-code +fi + +declare -A REPOS=( + ["infra"]="/app/infra" + ["tokyo"]="/app" + ["whoisband"]="/app/whois-band" +) + +for NAME in "${!REPOS[@]}"; do + DIR="${REPOS[$NAME]}" + SERVICE="claude-${NAME}.service" + + cat > "/etc/systemd/system/${SERVICE}" << EOF +[Unit] +Description=Claude Code Remote Session - ${NAME} +After=network.target + +[Service] +Type=simple +User=root +WorkingDirectory=${DIR} +ExecStart=/usr/bin/env claude remote-control --name "${NAME}" --spawn worktree +Restart=always +RestartSec=15 +StandardOutput=journal +StandardError=journal + +[Install] +WantedBy=multi-user.target +EOF + + systemctl daemon-reload + systemctl enable "${SERVICE}" + systemctl restart "${SERVICE}" + echo "Started: ${SERVICE} (WorkingDirectory: ${DIR})" +done + +echo "" +echo "All Claude Code daemons running. Connect via https://claude.ai/code" +echo "" +echo "Useful commands:" +echo " systemctl status claude-infra" +echo " systemctl status claude-tokyo" +echo " systemctl status claude-whoisband" +echo " journalctl -u claude-tokyo -f" |
