<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>GitHub Pages on Yoshiyuki Kurose</title><link>http://yoshiyuki-140.github.io/tags/github-pages/</link><description>Recent content in GitHub Pages on Yoshiyuki Kurose</description><generator>Hugo</generator><language>ja-JP</language><lastBuildDate>Wed, 10 Jun 2026 23:26:11 +0900</lastBuildDate><atom:link href="http://yoshiyuki-140.github.io/tags/github-pages/index.xml" rel="self" type="application/rss+xml"/><item><title>ラズパイサーバーからGitHub Pagesへ移行</title><link>http://yoshiyuki-140.github.io/posts/migrating-from-homeserver-to-github-pages/</link><pubDate>Wed, 10 Jun 2026 23:26:11 +0900</pubDate><guid>http://yoshiyuki-140.github.io/posts/migrating-from-homeserver-to-github-pages/</guid><description>&lt;h2 id="概要"&gt;概要&lt;/h2&gt;
&lt;p&gt;ラズベリーパイからサーバー運用を始め，その後はデスクトップPCでKubernetesを動かすところまで経験しました．
この過程でネットワークの仕組みを学ぶことができました．&lt;/p&gt;
&lt;p&gt;こうした経験は，残しておかなければ忘れてしまうため，本稿にまとめます．&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="サーバー運用の変遷"&gt;サーバー運用の変遷&lt;/h2&gt;
&lt;p&gt;以下の画像は，直近でGitHubのプロフィールに掲載していたサーバーの運用記録です．&lt;/p&gt;
&lt;p&gt;&lt;img alt="自宅サーバーの運用記録" loading="lazy" src="http://yoshiyuki-140.github.io/posts/migrating-from-homeserver-to-github-pages/images/image.png"&gt;&lt;/p&gt;
&lt;h3 id="1-初期ラズベリーパイ"&gt;1. 初期：ラズベリーパイ&lt;/h3&gt;
&lt;p&gt;初期のサーバー構成は以下の通りです．&lt;/p&gt;
&lt;p&gt;&lt;img alt="自宅ラズベリーパイサーバー構成図" loading="lazy" src="http://yoshiyuki-140.github.io/posts/migrating-from-homeserver-to-github-pages/images/image-2.png"&gt;&lt;/p&gt;
&lt;p&gt;このラズパイサーバーは，空冷ファンとSSDを増設したものです．
可用性を向上させるために増設したのですが，周辺機器を増やした影響で電源供給が不安定になってしまっていました．
突発的にSSDの読み取りに失敗することがあり，頻繁にサーバーが落ちるエラーを抱えていました．&lt;/p&gt;
&lt;h3 id="2-中期デスクトップpc"&gt;2. 中期：デスクトップPC&lt;/h3&gt;
&lt;p&gt;ラズパイの電源課題を解決するため，余っていたデータ分析用のゲーミングデスクトップPCをUbuntu Server化し，運用を始めることにしました．&lt;/p&gt;
&lt;p&gt;マシンスペックが向上し，懸念だった電源回りも大幅に改善しました．この時期はコンテナオーケストレーションの学習を兼ねて，MicroK8sを導入．GitHubでビルドしたWebサイトのコンテナイメージを自動でPullし，K8sランタイム上で動作させていました．&lt;/p&gt;
&lt;p&gt;以前，環境構築の勉強のために一からKubernetesを構築した経験があったのですが，それに比べるとMicroK8sは簡単に導入でき，個人運用のコンテナランタイムとしては管理コストを抑えられる点が素晴らしいと感じました．&lt;/p&gt;
&lt;p&gt;加えて，Prometheusも導入し，Grafanaを利用してサーバーの状態を可視化していました．
MicroK8sでは，こうした周辺ツールの導入もアドオンとして用意されており，導入が手軽でした．&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img alt="Grafanaの管理画面" loading="lazy" src="http://yoshiyuki-140.github.io/posts/migrating-from-homeserver-to-github-pages/images/image-1.png"&gt;
Grafanaを導入したときのスクショです．きれいすぎてビビりました．&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;しかし，スペックや運用環境は大幅に向上したものの，物理的な単一ノードであることには変わりなく，可用性の低さが依然として課題となりました．&lt;/p&gt;
&lt;h3 id="3-現在github-pagesへの移行"&gt;3. 現在：GitHub Pagesへの移行&lt;/h3&gt;
&lt;p&gt;運用コストを抑えつつ，高い可用性を維持したいと考えた結果，最終的にWebサイトのホスティング先を GitHub Pages へ移行することにしました．
これにより，安価かつ高い可用性を実現できました．&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="学んだ技術"&gt;学んだ技術&lt;/h2&gt;
&lt;p&gt;今回のインフラ刷新と運用の変遷を経て，以下の技術への理解が深まりました．&lt;/p&gt;
&lt;h3 id="静的サイト生成とcicd"&gt;静的サイト生成とCI/CD&lt;/h3&gt;
&lt;p&gt;現在のWebサイトは，静的サイト生成ツールである Hugoを使って構築しています．記事の内容はMarkdownで執筆し，HugoでHTML/CSSにビルドしたものをGitHub Pagesで公開する仕組みです．&lt;/p&gt;
&lt;p&gt;デプロイの自動化（CI/CD）を整えるにあたっては，Hugo公式が提供しているGitHub Actions用のテンプレートを利用しました&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;．&lt;/p&gt;
&lt;p&gt;MarkdownをGitHubにPushするだけで自動的にサイトが更新される環境が整い，運用の手間が大幅に削減されました．&lt;/p&gt;
&lt;h3 id="cloudflare-zero-trustによる公開"&gt;Cloudflare Zero Trustによる公開&lt;/h3&gt;
&lt;p&gt;勉強のために始めた自宅サーバーですが，外部公開のステップでも大きな学びがありました．
通常ならポート開放が必要なところですが，Cloudflare Tunnel&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;を利用することで，ポートを閉じたまま安全に外部公開する仕組みを構築できました．&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="まとめ"&gt;まとめ&lt;/h2&gt;
&lt;p&gt;ラズパイの故障対応から始まり，MicroK8sでの本格的なコンテナ運用，そしてGitHub Pagesへの移行と，目的や課題に応じてインフラを変化させていくプロセスが面白かったです．&lt;/p&gt;
&lt;p&gt;物理マシンを触りながらインフラ領域について学んだことを，今後の開発に活かしていきたいです．&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;&lt;a href="https://gohugo.io/host-and-deploy/host-on-github-pages/"&gt;Host on GitHub Pages | Hugo&lt;/a&gt;&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;&lt;a href="https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/"&gt;Cloudflare Tunnel&lt;/a&gt;&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description></item></channel></rss>