git pushで自分のサーバーにWebアプリをデプロイ・管理できる、Dockerを利用したセルフホスト型の小さなHeroku。
psviderski/uncloud
KubernetesやSwarmを使わず、WireGuardメッシュ経由で自前のDockerホスト間にコンテナアプリをデプロイし、スケールできます。
代替できる製品:Heroku
- スター
- 5,566
- フォーク
- 184
- 未解決の Issue
- 89
- 最終コミット
- 10 日前
これは何?
Uncloudは、クラウドVM、専用サーバー、ベアメタルなど、複数のDockerホストでコンテナ化されたWebアプリを実行するための軽量ツールです。マシン間にWireGuardメッシュを構築するため、異なるホスト上のコンテナにも固有のIPアドレスが割り当てられ、相互に直接通信できます。
クラスターに中央制御プレーンやクォーラムはありません。各マシンはピアツーピア通信を通じてクラスターの状態を同期したコピーを保持するため、一部のマシンがオフラインでも操作を継続できます。サービスはDocker Composeファイルで定義し、CLIからDockerに似たコマンドを実行できます。組み込みのサービスディスカバリー、ロードバランシング、Caddyリバースプロキシにより、HTTPSの自動設定を含む外部からのアクセスを処理します。
自分のマシンでアプリをホストしたい開発者のうち、単一のDockerホストでは足りないものの、Kubernetesの運用は避けたい人に適しています。
主な機能
- 01Dockerホスト間にWireGuardメッシュネットワークを構築し、ピアを自動検出します。
- 02サービスやボリュームの定義に、標準のDocker Composeファイルを使用できます。
- 03DNSベースのサービスディスカバリーとロードバランシングを標準で提供します。
- 04Caddy経由でLet's Encrypt証明書を自動取得し、HTTPSの外部アクセスを処理します。
- 05ローリングアップデートに対応し、ダウンタイムなしでデプロイできます。
- 06中央制御プレーンなしで動作するため、単一障害点となるマシンがありません。
ユースケース
- 複数のクラウドVMや自宅のサーバーに、自分のWebアプリをホストする。
- 複数のリージョンやプロバイダーにまたがって、高可用性のサービスを運用する。
- 複数のマシンにまたがってボリュームを管理しながら、ステートフルなサービスをセルフホストする。
- Kubernetesを導入せずに、単一のDockerホスト構成を置き換える。
クイックスタート
- 1
HomebrewでUncloud CLIをインストールする
brew install psviderski/tap/uncloud - 2
SSH経由で最初のマシンを初期化する
uc machine init root@your-server-ip - 3
Dockerイメージをデプロイし、ポート8000をドメイン上でHTTPSとして公開する
uc run -p app.example.com:8000/https image/my-app - 4
ドメインをサーバーのIPアドレスに向けるDNS Aレコードを作成し、DNSの伝播を待つ
使う前に知っておきたいこと
- READMEによると、失敗時の自動ロールバックにはまだ対応していません。
- セットアップには自分のサーバーへのSSHアクセスが必要で、各サーバーにマシンデーモンとDockerがインストールされます。
収録されている特集
トピック
よくある質問
- uncloud とは?
- KubernetesやSwarmを使わず、WireGuardメッシュ経由で自前のDockerホスト間にコンテナアプリをデプロイし、スケールできます。 Uncloudは、クラウドVM、専用サーバー、ベアメタルなど、複数のDockerホストでコンテナ化されたWebアプリを実行するための軽量ツールです。マシン間にWireGuardメッシュを構築するため、異なるホスト上のコンテナにも固有のIPアドレスが割り当てられ、相互に直接通信できます。
- uncloud は無料で使えますか?ライセンスは?
- uncloud は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- uncloud は今もメンテナンスされていますか?
- 活発にメンテナンス中。uncloud の最終コミットは 2026年10月14日 です。
- uncloud は何に使えますか?
- 複数のクラウドVMや自宅のサーバーに、自分のWebアプリをホストする。 複数のリージョンやプロバイダーにまたがって、高可用性のサービスを運用する。 複数のマシンにまたがってボリュームを管理しながら、ステートフルなサービスをセルフホストする。 Kubernetesを導入せずに、単一のDockerホスト構成を置き換える。
- uncloud のインストール方法は?
- HomebrewでUncloud CLIをインストールする: brew install psviderski/tap/uncloud SSH経由で最初のマシンを初期化する: uc machine init root@your-server-ip Dockerイメージをデプロイし、ポート8000をドメイン上でHTTPSとして公開する: uc run -p app.example.com:8000/https image/my-app ドメインをサーバーのIPアドレスに向けるDNS Aレコードを作成し、DNSの伝播を待つ
- uncloud はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/psviderski/uncloud
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Docker、Podman、Kubernetesをまたいでバージョンを管理できる、コンテナアプリ向けのセルフホスト型継続的デリバリー・デプロイプラットフォーム。
クラスタの構築からビルド、リリース、TLS対応URL、設定、ログ、メトリクスまでを、単一のCLIとダッシュボードで管理できるKubernetesベースのオープンソースPaaS。
SSH経由で自分のサーバーにアプリ、データベース、ワンクリックサービスをデプロイできるセルフホスト型プラットフォーム。Heroku、Netlify、Vercelの代替として利用できます。
Vercel、Netlify、Herokuに代わる、VPS上でアプリやデータベースをデプロイできるセルフホスト型PaaS。
Docker、Nginx、Let's Encryptを使い、自前のサーバーにアプリやデータベースをデプロイできる、Web GUIとCLIを備えたセルフホスト型PaaS。