summaryrefslogtreecommitdiff
path: root/CLAUDE.md
diff options
context:
space:
mode:
Diffstat (limited to 'CLAUDE.md')
-rw-r--r--CLAUDE.md50
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'
+```