summaryrefslogtreecommitdiff
path: root/Deploy.md
diff options
context:
space:
mode:
Diffstat (limited to 'Deploy.md')
-rw-r--r--Deploy.md33
1 files changed, 17 insertions, 16 deletions
diff --git a/Deploy.md b/Deploy.md
index a03b2a3..5faaf67 100644
--- a/Deploy.md
+++ b/Deploy.md
@@ -52,30 +52,31 @@ ssh golive 'docker logs tokyo-app -f'
ssh golive 'docker logs whois-app -f'
```
-## サーバーフック管理
+## サーバー構成管理
-各リポジトリの post-receive フック内容は `server-hooks/<repo>/post-receive` で管理する。
-git push では**自動展開しない**(セキュリティ上の理由)。フックを更新したい場合は push 後に手動でインストールスクリプトを実行する。
-
-```bash
-# フックを更新した場合: push → サーバーで手動インストール
-git push origin master
-ssh root@localhost 'bash /app/infra/scripts/install-hooks.sh'
-```
+ベアリポジトリ・ワークツリー・フックはすべてこのリポジトリで一元管理する。
+git push では**自動展開しない**(セキュリティ上の理由)。変更後は手動で `install.sh` を実行する。
| ファイル | 役割 |
|---|---|
+| `repos.txt` | 全リポジトリの定義(`name:work-tree` 形式) |
| `server-hooks/<repo>/post-receive` | 各リポジトリのフック内容 |
-| `scripts/install-hooks.sh` | `server-hooks/` を `/var/git/*/hooks/` に展開 |
+| `scripts/install.sh` | ベアリポジトリ作成 + フック展開(要 root) |
+| `scripts/server-setup.sh` | 初回のみ: Docker + hetzner-infra ブートストラップ |
+
+```bash
+# 変更を反映する場合
+git push origin master
+ssh root@localhost 'bash /app/infra/scripts/install.sh'
+```
## 新アプリ追加手順
-1. `Caddyfile` にホスト追加 → `git push origin master`
-2. 新アプリ側: `docker-compose.yml` で `external: true` の `web` network を使用、`container_name` を設定
-3. 新アプリの bare repo をサーバに作成(`scripts/server-setup.sh` 参照)
-4. `server-hooks/<new-repo>/post-receive` を作成して push
-5. `ssh root@localhost 'bash /app/infra/scripts/install-hooks.sh'`
-6. `git remote add hetzner golive:/var/git/<name>.git` → `git push hetzner master`
+1. `repos.txt` に `<name>:<work-tree>` を追記
+2. `server-hooks/<name>/post-receive` を作成
+3. `Caddyfile` にホスト追加
+4. `git push origin master` → `ssh root@localhost 'bash /app/infra/scripts/install.sh'`
+5. 新アプリ側: `git remote add hetzner root@localhost:/var/git/<name>.git` → `git push hetzner master`
## Claude Code セッション管理