68 ポイント 投稿者 GN⁺ 2025-04-03 | 4件のコメント | WhatsAppで共有
  • データ収集中心の中央集権型サービスに代わる選択肢として、セルフホスティングが近年人気を集めている
  • さまざまなツールやアプリを試したうえで、1年以上安定運用してきた経験をもとに、役立ったツールを紹介する
    • コンテナランタイム、Webベースの管理ツール、リバースプロキシとVPN、そのほかセルフホスティング向けツールのおすすめ記事まとめ
  • 特定ソリューションの優劣を決めるための記事ではなく、さまざまな問題にはさまざまな解決策があることを強調している

コンテナランタイム

  • 最近ではコンテナがホスティングの基本となり、従来型の方式はますます見かけなくなっている
  • これは**ホームサーバーユーザー(homelabber)**にとって非常に好ましい流れであり、コンテナはソフトウェア配布を簡単にし、仮想マシンより効率的な性能を提供する
  • 多くの人はDockerを使っているが、この記事ではホーム環境で使えるさまざまな代替ランタイムを紹介する
  • Docker

    • 最も広く使われている元祖コンテナランタイム
    • 豊富なドキュメントとコミュニティのおかげで、ITに詳しくなくてもGitHubから docker-compose.yml をコピーして実行してみることができる
    • ただし、セキュリティ関連の設定は別途検討が必要
  • Podman

    • ルートレス(rootless)構造とDocker CLI互換性により注目を集めている次世代コンテナランタイム
    • デーモンなしで動作するため、セキュリティを重視する人や関連技術を学びたい人に向いている
    • ほとんどのDockerコマンドをそのまま使え、docker コマンド互換のaliasも提供されるため移行しやすい
    • 当初は参入障壁があるが、ドキュメントとコミュニティの発展により、徐々に使いやすくなっている
    • さらに、Podman Quadlets によって docker compose の代わりに systemd ベースの宣言的コンテナ管理も可能
  • Kubernetes

    • 好奇心旺盛で実験好きなホームサーバーユーザーにとっては、挑戦意欲をかき立てる高度なツール
    • 多数のインスタンスを優雅に管理できるオーケストレーションツールとして、エンタープライズ級の管理体験を提供する
    • ただし、機能が非常に多く複雑なため、ほとんどのユーザーには過剰
    • ホーム環境では学習そのものが主目的であり、実運用より技術理解に重点が置かれる

Webベースのコンテナ管理ツール

  • ローカルディスクに compose ファイルを集めて管理するのを好むユーザーもいるが、毎回SSHでサーバーに接続してログを確認しなければならない煩わしさがある
  • その代わりにWebベースのコンテナ管理ツールを使えば、より便利に作業できる
  • Portainer

    • Docker、Kubernetes、Podmanのすべてに対応する、最も安定したWeb UI管理ツール
    • ホームサーバーから企業環境まで幅広く使われており、実践を通じた学習にも非常に有益
    • オープンソースのコミュニティ版と追加機能を含むエンタープライズ版があり(3ライセンスは無料提供)
    • 直感的なインターフェースと多彩な機能により、コンテナ管理に非常に向いている
  • Dockge

    • Uptime Kumaの開発者が作った新しいWebベースのDocker Compose管理ツール
    • まだPortainerほど成熟してはいないが、非常にシンプルで直感的なUIが強み
    • 開発者がGitHub Issuesに素早く対応し、定期的なアップデートが行われている
    • 軽量でミニマルなツールを好むユーザーに適している

リバースプロキシとVPN

  • 外部からでもセルフホストしたアプリケーションにアクセスするには、主に2つの方法がある:
    • サービスをインターネットへ直接公開する
    • VPNを通じて内部ネットワークへアクセスする
  • VPNのほうがセキュリティ面では安全だが、インターネット公開方式でも設定を適切に行えば十分有用
  • Pangolin

    • VPNとリバースプロキシを1つに統合した革新的なソリューション
    • まるでセルフホスティング向けのCloudflareのような役割を果たす
    • VPSなどにイングレスサーバーだけを設置すれば、さまざまな環境からVPNクライアントで簡単に接続できる
    • CrowdSec連携、基本的なSSO機能まで搭載
    • 筆者がこの記事を書くきっかけになったほど印象的なツールで、時間がたてば既存ソリューションの標準的代替になる可能性がある
  • Nginx Proxy Manager (NPM)

    • TCP/UDP/HTTP(S) プロキシをWeb UIで簡単に設定できるNginxフロントエンド
    • 多くのユーザーに利用されているが、筆者は一部機能(例: パスワード保護)が不安定だと評価している
    • 最初に触れたツールとして良い印象ではなかったが、動作するときは役目をきちんと果たす
  • Caddy

    • **シンプルな設定ファイル(Caddyfile)**で、プロキシ設定からHTTPS証明書の発行まで自動処理
    • Web UIがないため初心者には勧めにくいが、UNIX哲学を好むユーザーには最良の選択肢
    • Let’s Encryptを標準サポートし、複雑な構成を必要としないのが利点
  • NetBird

    • Tailscaleに慣れていればすぐ順応できるVPNソリューション
    • WireGuardベースのネットワークを自動構成し、複雑な設定を減らしてくれる
    • クラウドの無料ティアでもセルフホストでも利用でき、柔軟性がある

状態監視と通知ツール

  • Uptime Kuma

    • ZabbixやGrafanaのような重いスタックなしでも、手軽にサービス状態を監視できる
    • たった1回のデプロイで、さまざまなチャネルを通じた通知設定が可能
    • セルフホスティングシステムの可用性チェックに優れている
  • Gotify

    • 簡単なHTTPリクエストでプッシュ通知を送信できる通知サーバー
    • モバイルアプリをインストールすれば通知を受け取れ、Uptime Kumaなどとの統合も可能
    • さまざまなセルフホスティングツールと組み合わせて使えるため実用的

セルフホスティングアプリを探すための追加資料

  • さまざまなセルフホスティングアプリケーションを見つけられる便利な資料のまとめ
  • Awesome-Selfhosted

    • GitHubで提供されている膨大なソフトウェアリスト
    • やや整理されておらず、開発が停止したプロジェクトも一部含まれている
  • Selfh.st

    • 筆者が最も気に入っている情報源
    • ニッチなアプリケーションを紹介するニュースレターと、並べ替え機能付きの大規模アプリケーションディレクトリを提供している
    • 非常に有用なサイト
  • awesome-docker-compose

    • すぐ実行できるDocker Composeファイル集
    • 一部アプリケーションはアップデートによる互換性問題を抱えることがあるが、全体として良い参考資料

4件のコメント

 
ifmkl 2025-04-04

n100をこの前のAliのセール時に1台買ってProxmoxをインストールし、とりあえずこれまで使っていたOracle ARMサーバーのデータはすべてバックアップしておきました。追加でXpenology、pfSenseもインストールしてあり、まだ本格的には回していませんが、近いうちにメインへ移行する予定ではあります。

 
bus710 2025-04-04

昨年末にセールになっていたVPNサービスを契約しました。大手サービスにいろいろな変化が起きそうな気配が見えてきたので、少しずつセルフホスティングへ移行しようと思ったからです。まずはブラウザのパスワードやブックマークを移しながら、少しずつ試していこうと思います。

 
wedding 2025-04-04

Docker + Portainer + Cloudflare + Uptime Kuma
こんなふうに使っています。

 
GN⁺ 2025-04-03
Hacker Newsの意見
  • セルフホスティングのアイデアが好き。複数の小さなWebサイトやプロジェクトを運営しているので、リソースは大きな問題ではない

    • 問題はセキュリティ。セルフホスティングしたサイトを自宅で安全に運用する方法がよく分からない
    • 学び続けているが、学べば学ぶほど疑問が増える。何か間違ったことを言うと、誰かが自分のネットワークに侵入するのではないかと心配になる
    • こうした不安のせいで、Akamai、Linode、DO のようなサービスを使うようになる
    • セルフホスティングのセキュリティに関する資料を探している
  • 新しい VPS を設定中

    • RHEL 9 の開発者サブスクリプションを使用。dnf-automatic をインストールし、reboot = when-changed の設定で更新を自動化
    • サービスには podman と quadlets を使用。docker-compose の代替として使っている
    • nginx、vaultwarden、postfix、Webメールなどを運用する予定
    • イメージデータのせいでディスク容量の無駄が大きい
  • セルフホスティングの増加が心配

    • セルフホスティング利用者は今後ますます注目されるようになるだろう
    • 中国で VPS を借りる方法についての記事があると興味深いだろう
  • Web アプリのホスティングには今後も dokku を使う予定

  • Hashicorp Nomad、Consul、Traefik を OpenTofu で管理中

    • スタンドアロンの Docker はうまく機能しない。コンテナの属性を変更するには再作成が必要になる
    • Quadlet はサービスクラスタの管理が難しい。Podman の微妙な違いが問題を引き起こす
    • Kubernetes は重すぎる。軽量ディストリビューションでも依然として重い
    • 現在の構成なら HTTPS サービスを簡単に提供できる
  • Portainer を使ってみたが、docker compose の方が簡単だった

    • rootless モードに移行するなら Podman がよい。Docker も rootless で動作可能
    • Docker rootless は Debian と Ubuntu で安定している
    • Watchtower は不要。自動 docker compose pull は crontab で設定できる
  • セルフホスティングするならコンテナは使わず、静的サイトジェネレーターを使うことを勧める

    • 動的機能が必要なら PHP も使える。nginx の設定でセキュリティを強化できる
    • 重要なデータは zfs データセットを使ってバックアップすることを勧める
  • FreeBSD jails とシェルスクリプトを使ってセルフホスティングしている

    • 利便性は手放したが、安定したインターフェースを維持している
  • この記事のおかげでホスティング方法をアップグレードする気になった

    • DigitalOcean の VPS で個人プロジェクトを運用していた
    • Portainer + Caddy に切り替えて、コンテナ管理と SSL 証明書の自動化を実現した
    • 2025 年に連れてきてくれてありがとう