diff options
Diffstat (limited to 'CLAUDE.md')
| -rw-r--r-- | CLAUDE.md | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..28206a6 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,50 @@ +# hetzner-infra + +Hetzner VPS 上で動くサービス群のインフラ管理リポジトリ。 + +## ディレクトリ構成 + +``` +caddy/ リバースプロキシ(Caddyfile, docker-compose.yml, deploy.sh) +git/ ベアリポジトリ・フック管理(repos.txt, hooks/, install.sh) +claude/ Claude Code セッション管理(sessions.txt, systemd unit, sync.sh) +server/ サーバー共通設定(authorized_keys, requirements.md) +``` + +## デプロイの仕組み + +- `git push origin master` → post-receive フック → `caddy/deploy.sh` だけ実行 +- フック・リポジトリの変更は push 後に `bash /app/infra/git/install.sh` を手動実行 +- Claude セッションの変更は push 後に `bash /app/infra/claude/sync.sh` を手動実行 + +## 管理対象リポジトリ + +`git/repos.txt` に定義。`git/hooks/<repo>/post-receive` がデプロイ内容。 + +| リポジトリ | work tree | +|---|---| +| hetzner-infra | /app/infra | +| tokyo-livehouse-events | /app/tokyo-livehouse-events | +| whois-band | /app/whois-band | + +## よく使うコマンド + +```bash +# Caddy 設定変更 +vi caddy/Caddyfile && git push origin master + +# フック・リポジトリ定義変更 +vi git/hooks/.../post-receive # または git/repos.txt +git push origin master +ssh root@localhost 'bash /app/infra/git/install.sh' + +# Claude セッション変更 +vi claude/sessions.txt +git push origin master +ssh root@localhost 'bash /app/infra/claude/sync.sh' + +# SSH 鍵追加 +vi server/authorized_keys +git push origin master +ssh root@localhost 'bash /app/infra/git/install.sh' +``` |
