Repolode
psviderski

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. 1

    HomebrewでUncloud CLIをインストールする

    brew install psviderski/tap/uncloud
  2. 2

    SSH経由で最初のマシンを初期化する

    uc machine init root@your-server-ip
  3. 3

    Dockerイメージをデプロイし、ポート8000をドメイン上でHTTPSとして公開する

    uc run -p app.example.com:8000/https image/my-app
  4. 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 の数値は毎日更新されます。

関連プロジェクト