世界を動かす技術を、日本語で。

このブログはリサイクルされたGoogle Pixel 5(2024)で運営されています

2025年9月3日原文(blog.ctms.me)

概要

  • Androidスマホ を使ってブログサーバーを構築した体験談
  • Pixel 5Termux を活用した低消費電力・オフグリッド運用
  • ソーラーパネル とリサイクル部品による持続可能な構成
  • Hugo による静的サイト運用と自動化・バックアップ手法の紹介
  • 実際の運用での課題と工夫点を簡潔にまとめた内容

Androidスマホでブログサーバー運用

  • Android端末 をサーバーとして活用したブログ運用の試み
  • Linux prootデスクトップ の構築経験を活かした発想
  • Pixel 5 (Verizonロック・最新機種)を選択
  • USB-OTG対応 ・有線LAN運用のためのドック使用
  • セキュリティ重視 のため、できるだけ新しい端末を利用

インスピレーション

  • ESP32 でサイト運用する@kaimac氏の投稿
  • Android端末+ソーラーパネル で運用するcompost.party(@computersandblues氏)
  • OpenWRT導入TP-Linkルーター での自宅サーバー(@stevelord氏)
  • 省電力志向 ・リユースハードウェアの活用

ソーラーパネルとオフグリッド運用

  • Harbor Freight Tools の100Wソーラーパネルを利用
  • Jackery 160Wパワーステーション で蓄電・安定運用
  • 完全オフグリッド なブログサイトの構築
  • Permacomputing 思想の実践

Termuxによるサーバー構築

  • Termux でLinux環境を簡単に構築
  • Hugo がTermuxリポジトリに存在し、即導入可能
  • git, screen, テキストエディタ, hugo のインストールのみで運用開始
  • dufs (静的ファイルサーバー)でブラウザ経由の投稿・編集も可能

必要なユーティリティ

  • rsync, openssh, git, wget, curl, fish shell, cronie, termux-services, iperf3, speedtest-go, screen, helix, hugo の導入
  • sv-enable コマンドで sshd, cronie をサービス化
  • 再起動後 にサービス有効化

SSHによるリモート管理

  • SSHサーバー をTermuxでセットアップ
  • ssh-copy-id で公開鍵を登録
  • sshd_config の編集ポイント
    • ユーザー名は固定(whoamiで確認)
    • ポート番号は 8022 で固定

Hugoサイトの運用・自動化

  • 既存Hugoサイト をVMからPixel 5へ移行
  • リバースプロキシ の設定変更のみで公開
  • cronie で定期的にブログ再起動・キャッシュクリアを自動化
    • fishエイリアス でコマンド簡略化
    • screen でHugoプロセス管理
    • cron で5分毎に再起動スクリプト実行

バックアップ運用

  • rsync でリモートからファイル同期
  • デスクトップPCNAS への定期バックアップ
    • cronで自動実行
  • git によるバージョン管理・バックアップ
    • 自宅gitインスタンスやGitHub等へプッシュ可能

まとめ・感想

  • Androidスマホ でも十分なパフォーマンスと安定性を実現
  • 省電力・リユース ・オフグリッドなブログ運用の可能性
  • Termuxオープンソースツール の活用で構築が容易
  • 運用上の課題 はバージョン差異と電源管理のみ
  • フィードバック・質問 はMastodonまたはメールで受付

コメント・質問受付

  • Fediverse (Mastodon: @cinimodev@masto.ctms.me)または
  • メール (blog.discourse904@8alias.com)まで

Hackerたちの意見

ペダンティズム:再利用されたGoogle Pixel 5。壊れて再構成されたわけじゃないよ。環境への影響の順番は「減らす、再利用する、リサイクルする」だから、再利用はアップグレードだね!

「Recycle」は文法的には全然正しいよ。再利用の別の言い方って感じ。

いや、全体として再利用されたんだよ。「リサイクル」は完全に正しい。細かいことを言うのは無駄だったね。https://en.wiktionary.org/wiki/recycle#:~:text=To%20reuse%20...

古いスマホをインフラ軽量アプリケーションに使うアイデア、いいね。低消費電力と内蔵UPSを活かせるし(もちろん、欠点もあるけどね)。自分もいくつかの古いAndroidデバイスがあって、こういうクールなことに使いたいんだけど、今のホームラボのインフラにVMやコンテナを追加すれば、追加の電力消費なしでできそう。やってみたいけど、やっぱりクールだよね。このプロジェクトについての疑問は、なんでWi-Fiじゃないの?著者には良い理由があると思うし(自分もこだわりがあるから)、ドッキング→イーサネットデバイスが必要なくなるのは、電力を必要とするデバイスの無駄な追加に感じる。あと、使っているデバイスを考えると、帯域幅やスループットもあまり制限にはならないと思う。著者のこの要件についての具体的な理由に興味があるな(自分はBAだから、こういう質問が得意)。著者へのコメント:Pixel 5をホームラボの在庫に加えなきゃ!サイトもいい感じだし、レイアウトや情報も素晴らしいね。

なんでWiFiじゃないの?著者じゃないけど、推測してみるよ。WiFiは遅延が高くて、ちょっと確率的なんだ。サーバーへのリクエストのうち、最も遅い1%は追加で1000msくらいかかるかもしれないし。もし俺が携帯からブログを運営してたら、すごく速く動いてほしいと思うよ。それに古いAndroidフォンだと、最新のWiFi規格が使えないかもしれないし、HNのホームページに載ってるとトラフィックに苦しむこともあるだろうね。

しばらく前から、使っていない古いスマホを使って…分散型ウェブやアプリのテストをするアイデアを考えてるんだ。夜に充電しておいて、朝起きたらちょっとお金が稼げてる感じ。問題は、誰も本当に気にしてくれないことなんだけどね。クラウドホスティングは安いし。

こんにちは、ブログの著者だよ。ありがとう!VMやコンテナは、すでに動いているホームラボの電力使用量には影響しないって思う。ちょっと楽しみでやってみたし、太陽光で動かせるのが良かったんだ。最初は夜にラボをオフにして、スマホがバッテリーで動く予定だったんだけど、ホームラボが重要なインフラになっちゃって、常に稼働させなきゃいけないんだ(笑)。Ethernetが必要だったのは、帯域幅の一貫性のためだよ。俺のWiFiネットワークはあんまり良くないし。

これをやる上での一つの問題は、セキュリティについてなんだよね。古いAndroidフォンはもうアップデートされないことが多いし(Pixel 5がまだサポートされてるかはわからないけど)、特にインターネットに接続されてると、セキュリティの脆弱性が放置されるのが心配。

どうせ繋ぐなら、電源とイーサネットも一緒に使った方がいいよね。

Wi-Fiの送信に必要な電力がUSBよりも少ないって言ってるの?それと、BAって何?

Elixirでこれをやる夢があって、ノードを簡単に安全に繋げる能力を使って、もっと処理能力を追加するために、ただ単にもっとスマホを繋げるっていうのを考えてるんだ。

古いスマホをインフラ軽量アプリケーションに使うアイデアはいいね。低消費電力と内蔵UPSを活かせるし(もちろん、欠点もあるけど、それはある程度しか軽減できないよね)。モバイルデバイス向けの「サーバー化」キットが見てみたいな。ゲームボーイアドバンス用に開発された「コンソライズド」キットみたいにね。[1]: スマホからメインボードを取り出して、外部ストレージやより良い電源、物理ネットワークインターフェースと直接接続して拡張する感じ。

Hacker Newsで議論の続きを見る