10 ドルの OpenStick で動かしているもの

10 ドルの USB LTE ドングル、中身は Pi Zero 2 W で Debian と Podman が動いている。DNS レベルの広告ブロックから AI エージェントまで 9 つのセルフホストサービス、それぞれ実際のメモリ使用量を記載。

日本語
コピー
一根白色的 4G LTE 随身 Wi-Fi 网卡插在黑色 USB 集线器上,旁边横放一支紫色圆珠笔作尺寸参照

先日ふと思い立って、10 ドル(しかも送料無料!)で OpenStick を買った。ひとえに、このハードウェアが面白すぎたからだ。

10 ドルで手に入るものは以下。

  • 512 MB のメモリ(約 450 MB が使用可能)
  • 1 GHz の ARM Cortex-A53 CPU コア ×4
  • 4 GB の eMMC フラッシュ
  • 150 Mbit/s の Wi-Fi
  • 4G モデムと GPS
  • パッシブ冷却なので 100% 静音!
  • プログラマブル LED ×1 :)

USB-A プラグ付きの白い 4G LTE Wi-Fi モデムスティック。隣に黒い USB ハブとペンを大きさの目安として置いている

このスペックを見て「自分の時計のほうがマシだ」と思うかもしれない。あながち間違いではないが、こんなに小さい機器でもいろいろ遊べるし、セルフホスト入門には絶好のガジェットだ。

セットアップはやや面倒だが、一度動き出せば Debian が動いていて、systemd(Linux にスケジューリングやサービスの監視などを提供する)や Podman(軽量コンテナ化)といった定番の便利なものが揃っている。10 ドルで、消費電力が極めて低く騒音ゼロのホームサーバーが手に入るわけだ!

実際、実用的なソフトウェアの多くがこの機器で快調に動く。以下は特にお気に入りのもの。

CastSponsorSkip(5〜10 MB)

動作中の Google Cast デバイスに接続し、スポンサーセグメント(ときには広告も)をスキップする小さなサービス。リソースをほとんど食わず、しばらく使うと存在を忘れてしまうが、YouTube 体験は確実に快適になる!

CastSponsorSkip

AdGuard Home(自分のフォーク、40 MB)

AdGuard Home は DNS レベルで悪意のあるドメインを遮断する。スパイウェアもマルウェアも対象だ。最近のデバイスは監視したがるものばかり。スマートテレビはコンテンツ認識を続け、洗濯機はネットワークをスキャンし、コーヒーメーカーもあなたを監視しているかもしれない。

DNS ブロッカーは悪意のあるリクエストをすべて止められるわけではない(それは本物のファイアウォールの仕事だ)が、かなりの量は止められる。ブロックリストをいくつか追加したところ、自分のクエリの 60% がブロックされた。大半は無害に見えるが、そうでないものも確実にある。

自分でフォークを保守していて、大きなブロックリストも効率よく処理できる。とはいえ他人が提供したバイナリを動かすべきではないので、公式版のリンクも下に貼っておく(小さめのブロックリストしか使わないなら公式版でまったく問題ない)。

AdGuard Home Next-Gen - 40 MB(ブロックリストのサイズに依存しない)

AdGuard Home - 40 MB(20万件の小さめブロックリスト併用時)

AdGuard Home のダッシュボード。DNS クエリ 12,536 件、ブロックされた広告 8,091 件、クライアント別ランキングを表示

Zeroclaw(64 MB)

Zeroclaw は AI エージェントの実行フレームワーク。30 種類のチャネル(Telegram、メール、WhatsApp など)に対応し、安全なデフォルト設定、使いやすい Web UI、主要な LLM プロバイダとの連携を備えている。

しばらく自分の Kubernetes クラスタで OpenClaw を動かしていたが、結果はおおむね自ら招いた悩みだった。動きはするものの 1 GB 以上を消費し、更新のたびに問題が起き、しかも機能を頻繁に変えるので既存のワークフローが壊れた。Zeroclaw はまるで新鮮な空気だった。アイドル時の RSS は約 3 MB、必要な機能はすべて揃い、安全なデフォルト設定で、止めるのも簡単だ。次のバージョン(願わくば!)では Telegram のリッチメッセージに対応する予定で、実装は自分が担当する。PR はこちらで追える!

Zeroclaw には OpenStick へのアクセス権を与えている(それだけだ)。実質 root シェルだが、影響範囲が限られていることを考えれば許容範囲だと思う。主に OpenStick の監視に使い、「ログに気をつけるべきものはある?」とか「ディスク容量はどう?」などと聞いている。最大の利点は Telegram 経由でやり取りできること。山の中で電波が悪くても、小さなサーバーの様子を聞ける :)

Picoclaw や Nullclaw といった代替も見たが、どれも間違いなく優秀だ。ただ Zeroclaw はドキュメントが最も整っていてコミュニティも活発そうだったので、これを選んだ :)

GitHub Zeroclaw

ドキュメント

Zeroclaw のダッシュボード。稼働時間、メモリ使用量、コスト概要、現在アクティブな Telegram チャネルを表示

Cloudflare Tunnel(約 8〜20 MB)

Cloudflared はこれらのサービスを危険なインターネット上に安全に公開できる。無料で、ポートを一切開ける必要もない。代償として NSA があなたのやることすべてを読めるかもしれないが、家庭用サーバーならこのトレードオフは許容範囲だと思う。

Cloudflare Tunnel

Beszel(20 MB)

Beszel はメモリや CPU 使用率などを美しいグラフで表示し、異常があればアラートを出す。しかもメモリ消費はごくわずかだ。

以前、Kubernetes クラスタで Grafana 一式を動かしていたことがある。機能は確かに強力だが、ユーザーフレンドリーとは言いがたく、鶏を割くのに牛刀を用いる感があった。

Beszel はかなり良い選択肢だ。UI がきれいで、メモリは約 20 MB しか使わない。内訳は agent が 10 MB、server が 10 MB。多数のプロトコルに対応したアラート機能が組み込まれていて、自分は注目したい事象が起きたら Telegram にメッセージが届くようにしている。

GitHub Beszel

Beszel の OpenStick システムページ。24 時間の CPU、Podman CPU、メモリ、Podman メモリ使用量を表示

Dozzle

Dozzle は Podman コンテナを管理するためのきれいな UI だ。Beszel と機能がかなり重なっているので、10 MB か 20 MB を節約したくなった日にはどちらかを切ることになるだろう。Podman のログを見るなら Dozzle の UI のほうがはるかに優れているが、統計情報は Beszel ほど充実していない。

GitHub Dozzle

Dozzle のコンテナ一覧。openstick-debian 上で動く 8 つのコンテナと、それぞれの CPU・メモリ使用量を表示

Gatus(10 MB)

Beszel がサーバーを監視するのに対し、Gatus はサービスを監視する。つまり、Web サーバーやデータベースが落ちたときに通知を受け取りたいなら、必要なのは Gatus だ。しかも非常にきれいな Web UI まで生成してくれる。

GitHub Gatus - 10 MB

Gatus のステータスページ。AdGuard Home、Beszel、Dozzle、Cloudflare tunnel などの稼働時間バーをエンドポイント別に表示

Fusion RSS(22 MB)

Google Reader はもうない。しばらく Feedly を試したが、Pro 版は 7 ドルで、自分が心地よいと感じる価格より少し高かった。それに、自分で代替品を作れば何時間も遊べるのだから、わざわざ金を払うことはない。

RSS リーダーを一通り試した末に Fusion を選んだ。必要な機能はすべて揃っていて、UI がきれいで、操作にもたつきがなく、メモリ消費は 22 MB だけだ。

GitHub Fusion - 22 MB

Fusion の 3 ペインリーダー。全記事リストに 63 件の未読を表示

Shiori(約 10〜20 MB)

ブラウザのブックマークは便利だが、古いブックマークの多くはもう開けない。サイトが消えた、URL が変わった、など理由はいろいろある。Shiori はまさにこの問題を解決してくれる。使い勝手の良いブックマークマネージャーで、Web ページを自動でアーカイブしてくれる。使用量は約 10 MB。アーカイブ時にはメモリが多少跳ね上がるが、この程度の負荷なら OpenStick でも余裕で耐えられる。

Shiori - 10 MB

Diun(9 MB)

コンテナの更新が利用可能になると、Telegram にメッセージを送ってくれる小さなサービス。

Diun - 9 MB

出典: bosscher.ch← ホームへ戻る