2026年にセルフホストしたいアプリ25選
2026年にVPSで運用する価値がある25個を用途別に紹介します。代替サービス、実運用のRAM・ディスク容量、導入前に知るべき注意点をまとめました。
構築するもの
1つのアプリではなく、候補一覧です。このサイトにある他のすべての記事の中核として、2026年に自分のVPSで実際に運用する価値がある25個のアプリケーションを、用途別にまとめます。それぞれについて、置き換えられるサービス、実際的なRAMとディスク容量の目安、そして対策を省いた場合に問題になる唯一の点を示します。手順を詳しく説明したガイドがある場合は、そのガイドにリンクします。
私は15年間VPSホストを運用しており、これらの大半を自分のサーバーで動かしています。したがって、以下のリソース量は、マーケティング用ページに記載された「最小要件」ではなく、小規模な実運用でアプリが実際に使用する量です。予算として見積もり、そこに余裕を加えてください。
前提条件と現実的な注意点
ここで扱うすべてのアプリは、root または sudo を使える、まっさらな Ubuntu 24.04 KVM VPS 上で動作します。同じ一覧は自宅のラックに置いたサーバーでも問題なく動作します。月額料金を払い続けるか、RAM を一度購入するかで比較している場合は、自宅の Proxmox とレンタル VPS の比較でハードウェアと電力の計算を確認できます。ほとんどのアプリは Docker コンテナとして提供されるため、Docker を一度インストールすれば、この一覧全体をすぐに利用できます。
curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker "$USER"
newgrp docker
docker run --rm hello-worlddocker コマンドが permission denied while trying to connect to the Docker daemon socket で失敗する場合は、グループ設定を省略したか、新しいシェルを開いていません。ログアウトしてから、再度ログインしてください。docker compose が docker: 'compose' is not a docker command を返す場合は、古いスタンドアロンバイナリを使用しています。上のスクリプトは最新の Compose プラグインをインストールします。呼び出すときは docker compose を使用します。ハイフンではなく、スペースで区切ります。
以下の内容全体を左右する現実は3つあります。第1に、制約になるのはディスクや CPU ではなく RAM です。 1 GB の VPS では、小規模なアプリを1つ動かすのが限界です。自分でいくつかのサービスをホストする環境では、4 GB が実用上の適正値です。2 GB は中途半端です。初心者が3つ目のサービスを追加し、何も表示されない Out-Of-Memory による強制終了に遭遇しても、コンテナが突然消えた理由を把握できないことがあります。sudo dmesg には、デーモンが取り込んだ Out of memory: Killed process の行が表示されます。第2に、公開するものには名前と証明書が必要です。 IP アドレスだけの構成はテストには使えますが、スマートフォンアプリやブラウザーで信頼させたい場合には使えません。第3に、2つのポートが選択肢の半分を左右します。 自動 TLS を利用するには、80 と 443 がサーバーに到達できなければなりません。また、多くのプロバイダーは送信方向の25番ポートをブロックしています。そのため、メールは最後の「避けるべきもの」の一覧に含めています。
ファイルと写真
- Nextcloud は Google Drive、Dropbox、Google Calendar を 1 つのスイートにまとめて置き換えます。RAM は 1–2 GB に加え、ファイル容量分を見込んでください。注意点は 1 つです。SQLite はデモには適していますが、本番環境では問題になります。最初の起動時から PostgreSQL を使用してください。データを格納した後にデータベースを移行することが、Nextcloud を壊す最も一般的な原因です。Docker、TLS、バックアップを使用した VPS 上の Nextcloud の完全なガイドでは、最初から正しく構成できます。
- Immich は Google Photos を置き換えます。カメラロールを自動アップロードするスマートフォンアプリや、顔・物体検索にも対応します。RAM は 6 GB を見込んでください。Immich のドキュメントではこれを最小要件としています。8 GB なら余裕があり、特にメモリを消費するのは機械学習コンテナです。ディスク容量はライブラリと同じ容量に加え、サムネイル用としておよそ 20% を見込んでください。注意点は、Immich ではリリース間で互換性を損なう変更が今も行われることです。そのため、
latestを確認せずに盲目的に pull しないでください。バージョンを固定し、アップグレードの前に毎回リリースノートを確認してください。セルフホスト型 Immich 写真ライブラリのガイドで、安全なアップグレード手順を説明しています。6 GB という最小要件をサーバーが満たせない場合は、PhotoPrism と Immich の比較で、実際のメモリ使用量、スマートフォンアプリ、ライブラリを移行する前に必要な各製品のバックアップコマンドを比較できます。 - Seafile は Dropbox を置き換え、3 つの中で最も高速な同期エンジンを備えています。RAM は約 1 GB を見込んでください。注意点は、Seafile がファイルをディスク上の通常のファイルとしてではなく、コンテンツアドレス方式のブロックとして保存することです。そのため、
lsでデータを参照することはできません。バックアップにはフォルダーのコピーではなく、Seafile 独自のツールを使用してください。
パスワード
- Vaultwarden は、Bitwarden プロトコルに対応する小規模な Rust サーバーで、Bitwarden の有料プラン、LastPass、1Password の代わりになります。公式の Bitwarden アプリとブラウザー拡張機能をすべてそのまま利用できます。必要なメモリは 100–200 MB 程度で、ディスク容量はほとんど必要ありません。注意点は、このサーバーが所有するすべてのパスワードを保持することです。そのため、TLS とバックアップは省略できません。これらがこの構成の目的そのものです。
ADMIN_TOKENは Argon2 ハッシュとして設定してください。compose ファイル内の平文トークンは、マスターキーをそのまま記載することになるためです。Vaultwarden パスワードマネージャーのガイドは、最初に自分でホストするサービスとして最適です。
メディア
- Jellyfin は Plex の代替となり、自分のライブラリを対象にすれば Netflix の代替にもなります。完全にオープンで、アカウントも有料のリモートストリーミングも不要です。アイドル時は 1–2 GB の RAM を見込みますが、トランスコード時には CPU 使用率が急上昇します。注意点は、4K ストリームをソフトウェアトランスコードすると小規模な VPS では処理しきれなくなることです。サーバーにハードウェアアクセラレーションを使用させるか、クライアントが直接再生できる形式(Direct Play)でファイルを保持してください。そうすれば、サーバーはデータを転送するだけで済みます。VPS 上の Jellyfin メディアサーバーのガイドで、これらの違いを説明しています。起動後は、Halcyon が同じライブラリをブラウザー上で歩いて回れる 90 年代のレンタル店に変えます。これは、家族に棚を眺めてもらい、すべてをスクロールして通り過ぎないようにするための、私が知る限り最もばかばかしく効果的な方法です。
- Navidrome は自分の音楽向けの Spotify の代替です。Subsonic 互換アプリからストリーミングできます。RAM は 150–300 MB を見込みます。Go で書かれており、リソース使用量はごくわずかです。注意点は、最初のライブラリスキャンで全ファイルのタグを読み取るため、大規模なコレクションでは 1 時間かかることがある点です。ID3 タグが不適切だと、ブラウジング体験も悪くなります。
- Audiobookshelf は Audible とポッドキャストアプリの代替となり、デバイス間で再生位置を保持します。RAM は 200–500 MB を見込みます。注意点は、書籍ごとにフォルダーを分ける厳密な構成を前提としていることです。整理されていないインポートフォルダーを使うと、検出が不完全で整理も崩れたライブラリになり、後から修正するのが面倒になります。
自動化と AI
- n8n は、所有して運用できるビジュアルワークフロービルダーにより、Zapier や Make の代替になります。タスク単位の課金もありません。必要な RAM は 400 MB–1 GB を見積もります。注意点は、n8n が保存済みの認証情報を初回起動時に生成したキーで暗号化することです。そのキーを失うか、
N8N_ENCRYPTION_KEYの設定を忘れて再生成させると、保存済みの認証情報をすべて読み取れなくなり、すべて再入力する必要があります。HTTPS 対応の self-hosted n8n ガイドではキーを固定し、webhook URL の前段に正式な証明書を配置します。 - Ollama は、ローカルでプライベートに LLM 推論を実行するための ChatGPT サブスクリプションの代替です。必要なリソースはモデルごとに見積もります。7–8B モデルでは約 8 GB の RAM が必要で、各モデルがディスク上で 4–8 GB を使用します。注意点は、CPU のみの VPS では推論自体は問題なく実行できますが、速度が遅いことです。ホスト型 API のような即時応答ではなく、1 秒あたりの単語数を基準に考えてください。期待値を調整するか、GPU ボックスを借りてください。Ollama を実行して LLM を self-host する ガイドでは、現実的な数値を示しています。
コミュニケーション
- Rocket.Chat は、スレッド、通話、各種インテグレーションを備え、チーム向けの Slack の代替になります。MongoDB 上で動作し、MongoDB が大きな負荷要因になるため、メモリは 2 GB 以上を見積もります。注意点は、Rocket.Chat がリリースごとに特定の MongoDB メジャーバージョンを固定することです。アップグレード時にバージョンを飛ばすとデータベースが取り残されるため、1 段階ずつアップグレードしてください。Docker Compose を使用した Rocket.Chat のガイドで、バージョンごとの移行手順を確認できます。
- Matrix (Synapse) は、Slack と Discord の代替となる、連合型かつエンドツーエンド暗号化されたネットワークです。自分で homeserver を管理できます。大規模な公開ルームに参加すると必要メモリが増えるため、1–2 GB RAM を見積もります。注意点は、大規模な連合ルームでは Synapse のメモリ使用量が急増することです。また、Synapse は PostgreSQL 上で動作させる必要があります。標準の SQLite は単一ユーザーのテスト専用で、連合を開始するとすぐに限界に達します。Synapse が重い場合は、同じプロトコルに対応する軽量な Conduit または Dendrite サーバーを使用できます。
ネットワークとアクセス
- WireGuard は商用 VPN の代替となり、自分の IP と他のサービスへのプライベートトンネルを提供します。必要なリソースはほとんどなく、50 MB 未満で、暗号処理はカーネル内で実行されます。注意点は、コンテナベースの仮想化環境(OpenVZ、一部の LXC)ではモジュールが
RTNETLINK answers: Operation not supportedで失敗することです。KVM を使用してください。自己ホスト型 WireGuard VPN ガイドを参照してください。トンネルにバインドしたサービスと組み合わせることで、サービスを完全にパブリックインターネットから隔離できます。新しいデバイスを追加するたびにピア設定を手動編集したくない場合は、VPS で Tailscale サブネットルーターを実行する 方法を使うと、ルートを承認し、IP forwarding を再起動後も有効にするだけで、そのプライベート範囲全体を他のマシンへ広告できます。 - Traefik は手書きの nginx バーチャルホスト設定と証明書更新の手動作業に代わるものです。Docker labels を使ってコンテナを検出し、Let's Encrypt の証明書を自動取得します。必要なメモリは約 100 MB です。注意点は、labels ベースの設定モデルが最初は非常に分かりにくく、1 つの label を間違えるだけで明確なエラーがないままアプリへのルーティングが停止することです。複数の Docker アプリ向け Traefik リバースプロキシ ガイドは、このページにある複数のアプリを 1 つのエントリーポイントの背後で実行するために作成されています。
- AdGuard Home は Pi-hole のサーバーと有料 DNS フィルタリングの代替となり、DNS 層でネットワーク上のすべてのデバイスに対する広告とトラッカーをブロックします。必要なメモリは 100–150 MB です。注意点は port 53 の使用を要求することです。Ubuntu では
systemd-resolvedと競合し、port を先に解放するまでlisten udp 0.0.0.0:53: bind: address already in useで起動に失敗します。
監視
- Uptime Kuma は、使いやすいダッシュボードと、ほぼあらゆる通知先へのアラートにより、Pingdom、UptimeRobot、StatusPage の代替になります。必要な RAM は 150–300 MB です。注意点は、常に見落とされるものです。本番サーバーは 別の サーバーから監視してください。監視対象と同じサーバー上で Uptime Kuma を実行していると、そのサーバーが停止したことを検知できません。外部に配置する方法は、Uptime Kuma によるステータス監視のガイドで説明しています。
- Zabbix は、エージェントベースの詳細なメトリクス、トリガー、履歴機能を備え、Datadog やエンタープライズ向け監視スイートの代替になります。必要な RAM は 2 GB 以上で、専用のデータベースも必要です。注意点は、Zabbix が強力である一方、セットアップの負荷も実際に高いことです。3 つのコンテナを監視するだけなら過剰であり、サーバー群の監視には適しています。まずは Uptime Kuma を使い、実際に監視対象のインフラが必要になった段階で Zabbix 監視サーバーへ移行してください。
Prometheus と Grafana をこの一覧に含めていないのは意図的です。これらは大規模なサーバー群向けの優れたツールですが、個人運用の 2~3 台のサーバーで正当化できる範囲を超えて、実行と調整の負荷が高くなります。この規模では、Uptime Kuma と Zabbix で同じ問題を、より少ない保守負担で解決できます。
ダッシュボードとコントロールパネル
これらを使うと、モデル全体が変わります。compose ファイルを手動で実行する代わりに、パネルがアプリを管理します。
- Cloudron は、「これがワンクリックでできればよいのに」という要望を、洗練されたアプリストア、自動 TLS、組み込みのバックアップで実現します。RAM は最低 2 GB、余裕を持たせるなら 4 GB を見積もります。注意点は、独自の方針が強く、サーバー全体を管理下に置こうとすることです。また、無料で使えるのは 2 個のアプリまでで、それを超えると有料製品になります。
- CasaOS は、雑然としたホームラボのダッシュボードを、使いやすいアプリグリッドに置き換えます。無料で軽量です。CasaOS 自体に必要な容量は、おおむね 150 から 300 MB の RAM です。注意点は、信頼できるホームネットワーク向けに設計されており、パブリックインターネット向けの堅牢化はされていないことです。直接公開せず、WireGuard 経由でアクセスしてください。
- Coolify は、Heroku、Vercel、Netlify、git-push によるデプロイ、データベース、プレビュー環境を、自分のサーバー上で置き換えます。RAM は最低 2 GB を見積もります。注意点は、比較的新しいプロジェクトで開発が速いため、バージョンを固定し、アップグレード前にリリースノートを読む必要があることです。Cloudron、CasaOS、Coolify の比較では、3 つのうちどれがどの利用者に適しているかを整理しています。
開発・生産性向上ツール
- Gitea(または Forgejo) は、プライベートリポジトリ、Issue、CI において GitHub の代わりになります。メモリは 200–500 MB を見積もります。注意点は、Forgejo が Gitea から派生したコミュニティ運営のフォークで、現在はこちらを推奨する人が多いことです。どちらも優れていますが、どちらか 1 つを選び、リポジトリとデータベースをまとめてバックアップしてください。データベースなしでリポジトリだけをバックアップすると、すべての Issue とプルリクエストが失われます。
- Paperless-ngx は、書類をすべて OCR 処理して検索可能にすることで、書類棚や有料のドキュメントスキャナーの代わりになります。メモリは約 1 GB を見積もります。OCR 中は CPU 使用率が急上昇します。注意点は、OCR の結果がスキャン品質に左右されることです。大量のアーカイブの再処理には時間がかかるため、10 年分の紙書類を一括インポートする前に調整してください。
- Actual Budget は、高速でローカル動作するプライベートなエンベロープ予算管理により、YNAB と Mint の代わりになります。メモリは約 150 MB を見積もります。注意点は、自動銀行同期が別のアドオンで、独自のセットアップが必要なことです。そのため、標準状態では取引を手動でインポートします。
- FreshRSS は、終了した Google Reader と Feedly の代わりになる、高速でプライベートなフィードリーダーです。モバイルアプリにも対応します。メモリは約 150 MB を見積もります。注意点は、cron ベースのフィード更新を設定しないと、ページを開いたときにしかフィードが更新されないことです。
- BookStack は、棚、ブック、ページで整理するドキュメント管理ツールで、Notion と Confluence の代わりになります。PHP と MySQL で動かす場合、メモリは約 500 MB を見積もります。注意点は、自由形式のノートではなく、独自の構造でコンテンツを整理することです。この方式を好む人もいれば、柔軟性に欠けると感じる人もいます。Wiki 全体を移行する前に試してください。
- Home Assistant は、SmartThings や多数のベンダー製アプリの代わりになり、スマートホームをローカルで一元管理します。メモリは約 1 GB を見積もります。注意点は、その機能の多くがデバイスへのローカルネットワークアクセスを必要とすることです。そのため、リモート VPS よりも自宅のハードウェア上で動かす方が自然です。必要であれば、ダッシュボードにはリモートからアクセスし、自宅側へブリッジ接続してください。
代表的なインストール例
具体的に示すため、自己ホスト構成の全体像を示します。compose ファイル、実際の証明書、バックアップを用意します。これは Uptime Kuma の例ですが、一覧にあるすべてのアプリが同じパターンに従います。
services:
uptime-kuma:
image: louislam/uptime-kuma:2
container_name: uptime-kuma
volumes:
- ./data:/app/data
ports:
- "127.0.0.1:3001:3001"
restart: unless-stoppeddocker compose up -d
docker compose logs -f127.0.0.1: に注目してください。アプリは localhost でのみ待ち受け、Traefik や nginx などのリバースプロキシが前段で TLS を終端します。0.0.0.0:3001 に直接バインドすると、暗号化されていない管理パネルをインターネット全体に誤って公開することになります。
自分でホストするのはまだ避けるもの
- メール。 これは率直に言えます。ほとんどの VPS プロバイダーは送信元ポート 25 をブロックしており、
Connection timed outからtelnet aspmx.l.google.com 25が表示されても、修正することはありません。これはポリシーによるものです。ポート 25 が開いていても、評価のない新しい IP、PTR レコード、SPF、DKIM、DMARC がなければ、メールは迷惑メールに振り分けられるか、完全に拒否されます。これは週末だけで済む作業ではなく、継続的な運用が必要です。それでも導入する場合は、Mailcow でのセルフホストメール ガイドを参考に、十分な理解を持って始めてください。数か月にわたり、メールの到達性を継続的に管理する必要があります。 - 確実にバックアップと復元ができないもの。 テスト復元を一度も実施していないなら、それはバックアップではなく、単なる期待です。復元できることを確認するまで、失われると取り戻せないデータ、写真の唯一のコピー、アカウントなどをそのサービスに置かないでください。
- 重要な依存サービスの唯一のコピー。 障害が発生するとネットワーク全体のインターネット接続まで失われる self-hosted DNS サーバーは、最初のプロジェクトには適していません。上流のフォールバックを用意してください。
- リアルタイムの安全システム。 家庭用警報、医療アラートなど、5 分間の停止が現実的な問題になるものは、日曜の夜にアップグレードする趣味用のマシンで運用すべきではありません。
最初の1つを選ぶ方法と、絶対に外せない2つの条件
実際に不満を感じている請求をなくせるアプリか、現実に感じているプライバシー上の懸念を解消できるアプリを選びます。実際には、最初に導入するアプリとして Vaultwarden と Uptime Kuma が最適です。どちらも軽量で、すぐに役立ち、操作を誤っても復旧しやすいためです。2つ目を追加する前に、インストール、証明書の設定、バックアップ、リストアテストまで、1つを最初から最後まで動作させます。身に付けるべきスキルは、インストールボタンを押すことではなく、運用です。
上記のすべてのアプリで、例外なく必須となる条件が2つあります。
- 公開するすべてに TLS を適用すること。 ベア IP で平文通信を行うサービスは、デプロイではなくデモです。nginx で Certbot と Let's Encrypt を使う などで、サービスの前段に正式な証明書を配置するか、Traefik に自動処理させます。続いて、Ubuntu 24.04 で SSH に Fail2ban を設定する で入口を強化します。
- 実際にリストアしたバックアップを用意すること。 毎晩のダンプを自動化し、データベースとデータボリュームをまとめて取得して、サーバー外 に送信します。さらに月に1回、使い捨ての VPS にリストアし、正常に機能することを確認します。ディスクが故障した日に、バックアップが空だったと知るのでは手遅れです。
この2つを正しく実施すれば、セルフホスティングは快適です。省略すれば、障害発生までのカウントダウンになります。
選択肢は、実用的なものから極端なものまであります。家族向けの VPS 上の Minecraft サーバー から、注意すべき事例としての 世界で最も非効率なデータセンター まで、幅広く選べます。
FAQ
最初に何をセルフホストすべきですか?
Vaultwarden です。パスワードマネージャーは毎日役立ち、サブスクリプションの代替になり、Docker、リバースプロキシ、TLS、バックアップを含む一連の運用を学ぶきっかけになります。しかも、壊しても 10 分で再構築できるほど小規模なアプリです。次は Uptime Kuma が適しています。ユーザーより先に障害を把握できるためです。
実際にはどの程度の VPS が必要ですか?
小規模なアプリを 1 つ運用するだけなら、RAM 1 GB で動作します。複数のサービスを余裕を持って運用するなら 4 GB を目安にしてください。2 GB では、コンテナが警告なしに Out-Of-Memory で停止し、原因を特定できない状況になりやすくなります。ほとんどの場合、制約になるのは RAM です。ディスク容量は保存するデータ量に合わせて追加してください。Immich、Ollama、大規模なデータベースを使用するアプリでは、RAM とディスクの両方を多く必要とすることを想定してください。
セルフホストすべきでないものは何ですか?
まずメールです。多くのプロバイダーは送信ポート 25 をブロックしており、メールの到達性を確保するには継続的な対応が必要です。次に、確実にバックアップと復元ができないもの、停止すると実害が生じる単一障害点です。例えば、代替手段のない DNS サーバーや、家庭の安全設備が該当します。それ以外は、このリストにあるものならセルフホストの対象にできます。
すべてに Docker が必要ですか?
いいえ。ただし、Docker の利用を推奨します。ここにあるすべてのアプリには Docker イメージがあり、Docker を使うと、クリーンなインストール、確実なアンインストール、容易なバージョン固定、新しいホストへの移行が可能になります。いくつかのアプリ(WireGuard、Zabbix)は、必要であれば apt からネイティブにインストールすることもできます。1 つの compose ファイルの構成を理解すれば、他の構成にも応用できます。そのため、リスト全体を扱いやすくなります。
すべてを安全に保つにはどうすればよいですか?
大半は 4 つの習慣で対応できます。すべてのサービスの前段に TLS を配置すること、鍵認証のみのログインと ブルートフォース攻撃の試行を Fail2ban で遮断すること により SSH を適切に制限すること、本当に必要なポートだけを外部公開し、残りには WireGuard VPN 経由で接続すること、そしてリリースノートを確認しながら定期的に更新し、アップグレードで予期しない問題が起きないようにすることです。5 つ目の習慣はバックアップです。最初の 4 つをすり抜けた操作ミスが発生したときに、復旧するために使います。