2026年にセルフホストすべきアプリ25選 | おすすめリスト
2026年にVPSで運用すべき25のアプリを厳選しました。各アプリの代替サービス、実際のRAM・ディスク使用量、設定時の注意点を詳しく解説します。1GBのVPSではアプリ1つの運用が限界であることや、Out-Of-Memory killを防ぐための適切なメモリ確保についても実体験に基づき解説します。
作成するもの
単一のアプリではなく、リストです。これは、このサイトにある他のすべてのコンテンツのハブとなります。2026年に自身のVPSで運用する価値が本当にある25のアプリケーションを、役割ごとにグループ化しました。各アプリについて、代替となるサービス、実際のRAMとディスクの使用量、そして設定を飛ばした場合に発生する問題点を記載しています。リンクは、存在する場合には詳細なステップバイステップのガイドへ繋がっています。
私は15年間VPSホストを運営しており、これらの中のほとんどを自身のサーバーで運用しています。したがって、以下のリソース数値は、マーケティングページにある「最小構成」ではなく、実際の小規模なワークロード下での実使用量です。これらを予算として読み取り、そこに余裕(headroom)を加えてください。
前提条件と現実的な実態
ここに挙げるすべてのアプリは、rootまたはsudo権限を持つ、新規のUbuntu 24.04 KVM VPS上で動作します。ほとんどのアプリはDockerコンテナとして提供されているため、一度Dockerをインストールすれば、リスト全体の準備が整います。
curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker "$USER"
newgrp docker
docker run --rm hello-worldもし docker コマンドが permission denied while trying to connect to the Docker daemon socket で失敗する場合、グループ化されたステップを飛ばしたか、新しいシェルを開いていません。ログアウトして再度ログインしてください。もし docker compose が docker: 'compose' is not a docker command を返す場合、古いスタンドアロンのバイナリを使用しています。上記のスクリプトは最新のComposeプラグインをインストールします。呼び出し時は docker compose (ハイフンではなくスペース)を使用してください。
以下のすべてを規定する3つの現実があります。第一に、制約となるのはディスクやCPUではなく、RAMです。 1 GBのVPSでは、小さなアプリを1つ動かすのが限界です。数個のサービスを「セルフホストする」ための実用的な構成は4 GBです。2 GBは中途半端な構成であり、初心者が3つ目のサービスを追加した際に、サイレントなOut-Of-Memory killが発生し、なぜコンテナが消えたのか原因が分からなくなる原因となります。sudo dmesg には、デーモンが飲み込んだ Out of memory: Killed process の行が表示されます。第二に、公開する場合、名前(ドメイン)と証明書が必要です。 テストにはIPアドレスのみでも動作しますが、モバイルアプリやブラウザから信頼されるためには不十分です。第三に、2つのポートが選択肢の半分を決定します。 自動TLSには80と443がサーバーに到達できる必要があり、また、ほとんどのプロバイダーはアウトバウンドの25番ポートをブロックしています。これが、リストの最後にある「やってはいけない」リストにメールが含まれている理由です。
ファイルと写真
- Nextcloud は、Google Drive、Dropbox、Google Calendarを一つのスイートにまとめた代替手段です。予算はRAM 1–2 GBに加え、ファイル容量分が必要です。注意点:SQLiteはデモ用としては問題ありませんが、本番環境では罠となります。初回起動時からPostgreSQLにインストールしてください。データが入った後にデータベースを移行するのは、Nextcloudを壊す最も一般的な原因です。Docker, TLS, バックアップを備えたVPSでのNextcloud ガイドでは、初回から正しくセットアップできます。
- Immich は、カメラロールを自動アップロードするスマホアプリから顔・物体検索に至るまで、Google Photosの代替となります。予算はRAM 6 GBです。Immichのドキュメントではこれが最小とされていますが、8 GBあれば快適です。機械学習コンテナがリソースを消費します。ディスク容量はライブラリのサイズに、サムネイル用の約20%を加えたものが必要です。注意点:Immichはリリース間で破壊的変更が含まれることがあるため、
latestを盲目的にプルしないでください。バージョンを固定し、アップグレード前にリリースノートを確認してください。セルフホストのImmichフォトライブラリ ガイドでは、安全なアップグレード手順を説明しています。 - Seafile は、3つの中で最も高速な同期エンジンを持つDropboxの代替です。予算はRAM 約1 GBです。注意点:Seafileはファイルをディスク上のプレーンなファイルとしてではなく、コンテンツベースのブロックとして保存します。そのため、
lsではデータを閲覧できず、フォルダのコピーではなくSeafile独自のツールを使用してバックアップする必要があります。
パスワード
- Vaultwarden は、Bitwardenの有料プラン、LastPass、1Passwordの代替です。Bitwardenプロトコルを使用する軽量なRustサーバーであるため、すべての公式Bitwardenアプリやブラウザ拡張機能がそのまま動作します。予算はRAM 100–200 MBで、ディスク消費はほぼありません。注意点:このサーバーにはすべてのパスワードが含まれるため、TLSとバックアップは必須であり、それこそが目的です。また、
ADMIN_TOKENをArgon2ハッシュとして設定してください。composeファイルにプレーンテキストのトークンを記述することは、マスターキーを平文で置くことと同じです。Vaultwardenパスワードマネージャー ガイドは、最初のセルフホストとして最適です。
メディア
- Jellyfin は、Plexの代替であり、自身のライブラリに対してはNetflixの代わりとなります。完全にオープンで、アカウントも、有料のリモートストリーミングも不要です。アイドル時はRAM 1–2 GBですが、トランスコード時にはCPUを激しく消費します。注意点:4Kストリームのソフトウェアトランスコードは、小さなVPSを過負荷にします。ハードウェアアクセラレーションを割り当てるか、クライアントが直接再生できるフォーマット(Direct Play)でファイルを保持し、サーバーはバイトを転送するだけにしてください。VPS上のJellyfinメディアサーバー ガイドで詳細を説明しています。
- 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を備えたセルフホストn8n ガイドでは、キーの固定とWebhook URLへの証明書適用について説明しています。 - Ollama は、ローカルでプライベートなLLM推論を行うための、ChatGPTサブスクリプションの代替です。モデルごとに予算が異なります。7–8Bモデルには約8 GBのRAMが必要で、各モデルはディスクで4–8 GBを消費します。注意点:CPUのみのVPSでは、推論は可能ですが低速です。APIのような即時応答ではなく、秒間数ワード程度であることを想定してください。期待値を調整するか、GPU搭載サーバーをレンタルしてください。LLMセルフホストのためのOllama実行 ガイドには現実的な数値が記載されています。
コミュニケーション
- Rocket.Chat は、スレッド、通話、統合機能を備えた、チーム向けのSlackの代替です。MongoDBを使用するため、予算はRAM 2 GB以上が必要です。注意点:Rocket.Chatはリリースごとに特定のMongoDBメジャーバージョンを必要とします。アップグレード中にバージョンを飛ばすと、データベースが破損します。一段階ずつアップグレードしてください。Docker ComposeによるRocket.Chat ガイドでは、バージョンアップの手順を説明しています。
- Matrix (Synapse) は、自身がホームサーバーを所有する、フェデレーション(連合)型のエンドツーエンド暗号化ネットワークとして、SlackやDiscordの代替となります。予算はRAM 1–2 GBですが、大規模な公開ルームに参加すると増加します。注意点:Synapseは大規模なフェデレーションルームでメモリ消費が急増します。また、PostgreSQLでの動作が必須です。デフォルトのSQLiteは単一ユーザーのテスト用であり、フェデレーションを行うと動作しません。Synapseが重い場合は、より軽量なConduitやDendriteサーバーが同じプロトコルを使用できます。
ネットワークとアクセス
- WireGuard は、商用VPNの代替として、自身のIPや他のサービスへのプライベートなトンネルを提供します。予算はほぼゼロ(50 MB未満)で、暗号化はカーネル内で動作します。注意点:コンテナベースの仮想化(OpenVZ、一部のLXC)では、モジュールが
RTNETLINK answers: Operation not supportedで失敗します。KVMを使用してください。セルフホストWireGuard VPN ガイドがリファレンスです。トンネルにバインドされたサービスと組み合わせることで、通信を完全にパブリックインターネットから隔離できます。 - Traefik は、手書きのnginx仮想ホストや手動の証明書更新の代替です。Dockerラベルによってコンテナを検出し、Let's Encryptの証明書を自動取得します。予算はRAM 約100 MBです。注意点:ラベルベースの設定モデルは、最初は非常に混乱を招きます。ラベルが1つ間違っているだけで、エラーが表示されずにルーティングが失敗します。複数のDockerアプリのためのTraefikリバースプロキシ ガイドは、このページのアプリを1つの入り口の後ろで実行するために作成されています。
- AdGuard Home は、Pi-holeや有料DNSフィルタリングの代替として、DNSレイヤーでネットワーク上の全デバイスの広告やトラッカーをブロックします。予算はRAM 100–150 MBです。注意点:53番ポートを占有しようとしますが、これはUbuntu上の
systemd-resolvedと衝突します。ポートを解放するまで、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、組み込みのバックアップを備えたツールです。予算は最低2 GB、快適には4 GBのRAMが必要です。注意点:独自の設計思想を持ち、サーバー全体を管理しようとします。また、2アプリまでは無料ですが、それ以降は有料製品です。
- CasaOS は、乱雑なホームラボのダッシュボードを、使いやすいアプリグリッドに置き換える、無料の軽量ツールです。CasaOS自体の予算はRAM 約150〜300 MBです。注意点:信頼できるホームネットワーク向けに設計されており、パブリックインターネット向けに強化されていません。直接公開せず、WireGuard経由でアクセスしてください。
- Coolify は、Heroku、Vercel、Netlifyの代替です。自身のサーバー上でgit-pushデプロイ、データベース、プレビュー機能を提供します。予算は最低2 GBのRAMが必要です。注意点:開発が進みの早い若いプロジェクトであるため、アップグレード前にバージョンを固定し、リリースノートを確認してください。Cloudron vs CasaOS vs Coolify 比較 では、3つのうちどれが適しているかを解説しています。
開発者および生産性ツール
- Gitea (または Forgejo) は、プライベートリポジトリ、Issue、CIのためのGitHubの代替です。予算はRAM 200–500 MBです。注意点:ForgejoはGiteaのコミュニティ主導のフォークであり、現在多くの人が推奨しているものです。どちらも優秀ですが、リポジトリとデータベースをセットでバックアップしてください。データベースなしのリポジトリバックアップでは、Issueやプルリクエストがすべて失われます。
- Paperless-ngx は、書類整理棚や有料のドキュメントスキャナーの代替です。すべてをOCR処理し、ドキュメントを検索可能にします。予算はRAM 約1 GBで、OCR実行中にCPU負荷がスパイクします。注意点:OCRの精度はスキャン品質に依存します。大量のアーカイブを再処理するのは時間がかかるため、大量インポートの前にチューニングを行ってください。
- Actual Budget は、YNABやMintの代替として、高速でローカルかつプライベートな封筒予算管理を提供します。予算はRAM 約150 MBです。注意点:銀行との自動同期は別の追加機能であり、独自のセットアップが必要です。標準状態では、取引を手動でインポートします。
- FreshRSS は、FeedlyやGoogle Readerの代替です。モバイルアプリを備えた高速でプライベートなフィードリーダーです。予算はRAM 約150 MBです。注意点:cronベースのフィード更新を設定しないと、ページを開いた時にしか更新されません。
- BookStack は、NotionやConfluenceの代替として、棚、本、ページとして整理されたドキュメント管理を提供します。PHPとMySQLでRAM 約500 MBを消費します。注意点:自由形式のメモではなく、独自の構造化された形式をとります。これは好みが分かれるため、Wiki全体を移行する前に試用してください。
- Home Assistant は、SmartThingsや多数のベンダーアプリの代替として、スマートホームをローカルで統合します。予算はRAM 約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に直接バインドすることは、暗号化されていない管理パネルをインターネット全体に公開してしまう原因となります。
まだセルフホストすべきでないもの
- メール。 これは正直な話です。アウトバウンドの25番ポートはほとんどのVPSプロバイダーでブロックされています。
telnet aspmx.l.google.com 25からConnection timed outというエラーが出ますが、これは修正できるものではなく、ポリシーの問題です。たとえ25番が開いていても、レピュテーションのない新規IPでは、SPF、DKIM、DMARCの設定が不十分だと、メールはスパム扱いされるか拒否されます。これは週末の作業で済むものではなく、継続的な業務です。どうしても行う場合は、Mailcowによるセルフホストメール ガイドを読み、配信率の管理に数ヶ月かかることを覚悟してください。 - 確実にバックアップと復元ができないもの。 テスト復元を行ったことがないのであれば、それはバックアップではなく「希望」に過ぎません。写真の唯一のコピーやアカウント情報など、かけがえのないデータは、復元が証明されるまでサービスに置かないでください。
- 重要な依存関係の唯一のコピー。 クラッシュした際にネットワーク全体のインターネットを停止させてしまうようなセルフホストDNSサーバーは、最初のプロジェクトとしては不適切です。フォールバックとなるアップストリームを保持してください。
- リアルタイムの安全システム。 ホームアラーム、医療アラートなど、5分間のダウンタイムが深刻な問題となるものは、日曜の夜にアップグレードを行うような趣味のサーバーに置くべきではありません。
最初の選択肢と、2つの必須事項
自分が不満に感じている請求、または実際に感じているプライバシーの懸念を解消してくれるアプリを選んでください。実際には、Vaultwarden と Uptime Kuma が最適な最初のインストールです。どちらも軽量で、すぐに役立ち、ミスがあってもリカバリが容易です。2つ目を追加する前に、1つをエンドツーエンド(インストール、証明書、バックアップ、復元テスト)で動作させてください。あなたが構築しているスキルは、単なる「インストールボタンのクリック」ではなく、運用能力です。
上記のすべてのアプリにおいて、例外なく以下の2つが必須です。
- 公開するものすべてにTLSを。 IPアドレスのみのプレーンテキストサービスはデモであり、デプロイではありません。nginxでのCertbotとLet's Encrypt を使うか、Traefikに自動で行わせ、実際の証明書を前面に置いてください。その後、Ubuntu 24.04でのSSH用Fail2ban で入り口を強化してください。
- 実際に復元した実績のあるバックアップを。 データベースとデータボリュームをセットにした日次ダンプを自動化し、それを「サーバーの外」へ送ってください。そして月に一度、使い捨てのVPSに復元して動作を確認してください。ディスクが壊れた日に、バックアップが空だったことに気づいてはいけません。
これら2つを正しく行えば、セルフホストは楽しいものになります。これらを怠れば、破綻へのカウントダウンが始まります。
選択肢は、実用的なものから非現実的なものまで多岐にわたります。家族向けの VPS上のMinecraftサーバー から、教訓的な例として 世界で最も効率の悪いデータセンター まであります。
FAQ
最初に何をセルフホストすべきですか?
Vaultwardenです。パスワードマネージャーは日常的な価値を提供し、サブスクリプションの代わりになり、かつ壊しても10分で再構築できるほど小さなアプリで、Docker、リバースプロキシ、TLS、バックアップといったワークフロー全体を学ぶことができます。Uptime Kumaは、ユーザーよりも先に障害に気づくために、2つ目として最適です。
実際にどの程度のVPSが必要ですか?
小さなアプリ1つなら、1 GBのRAMで十分です。数個のサービスを快適に動かすには、4 GBを目指してください。2 GBの中間構成では、サイレントなOut-Of-Memoryによるコンテナ停止が発生し、原因が特定できないことがよくあります。制限はほぼ常にRAMです。ディスクは保存予定のデータ量に合わせて用意してください。Immich、Ollama、および大規模なデータベースを持つアプリは、両方のリソースを多く消費することを想定してください。
何をセルフホストすべきではありませんか?
まず第一にメールです。アウトバウンドの25番ポートはほとんどのプロバイダーでブロックされており、配信率の確保はフルタイムの作業です。次に、確実にバックアップと復元ができないもの、および、ダウンタイムが実害を及ぼす単一障害点(フォールバックのないDNSサーバーやホーム安全システムなど)です。それ以外は、すべて対象となります。
すべてにDockerが必要ですか?
必須ではありませんが、推奨します。ここに挙げるすべてのアプリにはDockerイメージがあり、Dockerを使用すれば、クリーンなインストール、クリーンな削除、容易なバージョン固定、および新しいホストへの移植性が手に入ります。WireGuardやZabbixのように、aptからネイティブにインストールできるアプリもあります。一度composeファイルに慣れれば、すべてのアプリに対応できるようになります。
セキュリティをどう維持すればよいですか?
主に4つの習慣でカバーできます。すべてにTLSを適用すること、SSHを鍵認証のみに制限し Ubuntu 24.04でのFail2banによる総当たり攻撃の禁止 を行うこと、公開するのは本当に必要なポートのみにして残りは WireGuard VPN 経由でアクセスすること、そしてリリースノートを読みながら定期的にアップデートして、アップグレードで驚かないようにすることです。5つ目の習慣はバックアップです。ミスを防ぐためのリカバリ手段となります。