全体構成

サイトの仕組み

伏兵衛の Web サイトは、3つのサービスが連携して動いています。

graph TB A["Sanity Studio
(コンテンツ管理)"] -->|公開| B["GitHub Actions
(ビルド)"] B -->|公開| C["Netlify
(Web サイト公開)"]

各サービスの役割

Sanity Studio 🔗

  • メニュー・お知らせ・日記を管理する場所
  • 写真のアップロードもここで行う
  • URL: bushbee.sanity.studio

GitHub Actions 🔗

  • Sanity のデータを取得してサイトを構築する
  • 公開すると自動で実行される
  • 毎朝 7:00 にも自動実行(公開日時の制御用)

Netlify 🔗

公開してからサイトに反映されるまで

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.js22.22.2

無料プランの主な制限

サービス制限目安
Sanityドキュメント 1万件月15件で50年以上
API リクエスト 月25万十分
帯域幅 月100GB十分(静的ビルドなので消費少)
アセット保存 100GB十分
ユーザー 20人十分(Studio 利用者数に適用)
Netlify帯域幅 月100GB小規模サイトなら十分
GitHub Actions月2,000分(private リポジトリ)1回1分 × 月60回でも十分

いずれも現在の利用規模では無料枠を超える心配はありません。