全体構成
サイトの仕組み
伏兵衛の Web サイトは、3つのサービスが連携して動いています。
graph TB
A["Sanity Studio
(コンテンツ管理)"] -->|公開| B["GitHub Actions
(ビルド)"] B -->|公開| C["Netlify
(Web サイト公開)"]
(コンテンツ管理)"] -->|公開| B["GitHub Actions
(ビルド)"] B -->|公開| C["Netlify
(Web サイト公開)"]
各サービスの役割
Sanity Studio 🔗
- メニュー・お知らせ・日記を管理する場所
- 写真のアップロードもここで行う
- URL: bushbee.sanity.studio
GitHub Actions 🔗
- Sanity のデータを取得してサイトを構築する
- 公開すると自動で実行される
- 毎朝 7:00 にも自動実行(公開日時の制御用)
Netlify 🔗
- 完成したサイトをインターネットに公開する
- URL: bushbee.tecoli.com
公開してからサイトに反映されるまで
sequenceDiagram
actor 店主
participant S as Sanity
participant G as GitHub
participant N as Netlify
店主->>S: 編集して公開
S->>G: 通知
G->>S: データ要求
S-->>G: データと画像
G->>G: サイト構築
G->>N: 公開
Note over N: 数分後に反映
毎朝の定期ビルド
sequenceDiagram
participant T as 定期(7:00)
participant S as Sanity
participant G as GitHub
participant N as Netlify
T->>G: 起動
G->>S: データ要求
S-->>G: データと画像
G->>G: サイト構築
G->>N: 公開
G->>G: バックアップ保存
バックアップ
データと画像は GitHub に自動保存されます。Sanity に障害が起きても、最後に取得したデータからサイトを復旧できます。
利用技術・ツール一覧
| 用途 | 技術 |
|---|---|
| コンテンツ管理 | Sanity(無料) |
| 管理画面 | Sanity Studio(無料ホスティング) |
| サイト構築 | Astro 6.1 |
| スタイリング | Tailwind CSS 4 |
| フォント(欧字) | Cormorant Garamond |
| フォント(和文) | Kaisei HarunoUmi |
| 自動ビルド | GitHub Actions(無料) |
| ホスティング | Netlify(無料) |
| ソースコード管理 | GitHub(無料・private) |
| Node.js | 22.22.2 |
無料プランの主な制限
| サービス | 制限 | 目安 |
|---|---|---|
| Sanity | ドキュメント 1万件 | 月15件で50年以上 |
| API リクエスト 月25万 | 十分 | |
| 帯域幅 月100GB | 十分(静的ビルドなので消費少) | |
| アセット保存 100GB | 十分 | |
| ユーザー 20人 | 十分(Studio 利用者数に適用) | |
| Netlify | 帯域幅 月100GB | 小規模サイトなら十分 |
| GitHub Actions | 月2,000分(private リポジトリ) | 1回1分 × 月60回でも十分 |
いずれも現在の利用規模では無料枠を超える心配はありません。