Webサイト構成
2026年8月
- Cloudflare Pages
- Astro
- Cloudflare R2
- Cloudflare Domain
graph TD;
subgraph Local
markdown
astro[astro]
media[Media files]
end
subgraph github
repo1[codes & text-content]
end
subgraph cloudflare
Pages
R2
end
markdown --> repo1
astro --> repo1
media --> |images| R2
media --> |videos| R2
github --> |pull| Pages
cloudflare 側で事前設定が住んでいれば、日常的には github へ push するだけで、 markdown ファイルが cloudflare 側でビルド、公開される。
cloudflare での設定:
- カスタムドメインの取得
- www サブドメインを取得したドメインへリダイレクトさせる
- R2 のバケット作成
- バケットをサブドメインへ紐づけ
- 例えば、assets サブドメインを使い、カスタムドメイン example.com を指定するなら、カスタムドメイン設定のところへ assets.example.com を指定する。
- CNAME は cloudflare が自動的に付与してくれる。
- Pages の設定
- Workers & Pages -> Pages (下に小さく表示されている)を見つけて、頑張る
TIP
分からなければ、cloudflare の AI に「Pages 構築の手順を教えて」と聞けば、懇切丁寧に教えてくれる。日本語で質問すると、日本語で説明してくれる。
github:
- astro とコンテンツは、同一のリポジトリ
- 頑張ればコンテンツを submodule として持てるが、cloudflare 側で指定できるリポジトリは1つ。そのため、submodule の更新情報をどうやって引っ張ってくるかが課題になる。webhook を使うことになるだろうが、PAT で権限の廃棄期限を指定するなど、管理が煩雑になる。
- astro から他のフレームワークへ引っ越しするとき、どうするかというのは、将来の自分に期待したい。(すでに quartz から astro へ引っ越した)
ローカル:
- Obsidian で markdown を書く
- 書いたら、何かでgitリポジトリにコピーし、
git commitとgit pushする - 画像、動画、音声などは、R2 へ何かで頑張って送る
WARNING
- この文書は、こうやった。できた。という話であって、なにも保証しません。
- セキュリティー的な配慮やネットワーク的な配慮は、個人、あるいは、組織の責任に帰属します。この文書を書いた著者は、いかなる保証もしないし、いかなる責任も取りません。