uncloud とは
uncloud は Pasha Sviderski が作った軽量なクラスタリング/コンテナオーケストレーションツールです。クラウド VM とベアメタルにまたがって Web アプリをデプロイ・管理でき、クラスタ管理の手間は最小限。Docker の手軽さと Kubernetes の力の間を埋め、Docker の手軽さのまま、複数マシンの力を届けます。
⚡ uncloud の主な機能
🌐 複数マシンへのデプロイ
クラウドの VM、専用サーバー、ベアメタルにまたがってデプロイできます。異なるプロバイダをひとつの計算環境にまとめられます。
🐳 Docker Compose 互換
サービスの定義には見慣れた Docker Compose 形式を使います。新しい設定言語も、複雑な YAML も覚える必要はありません。
🔒 設定不要のプライベートネットワーク
ピア探索と NAT 越えを備えた WireGuard メッシュを自動構成。コンテナごとに固有 IP が振られ、マシンをまたいで直接通信できます。
🎯 コントロールプレーン不要
完全に分散した設計で、単一障害点をなくしています。各マシンが P2P 通信でクラスタの状態を同期して保持します。
🔍 サービスディスカバリ
内蔵 DNS がサービス名をコンテナ IP に解決します。Caddy による HTTPS 対応のロードバランシングと ingress も自動です。
📦 永続ストレージ
マシンをまたいで管理される Docker ボリュームで、ステートフルなサービスを動かせます。複雑なストレージのオーケストレーションなしにデータが残ります。
apt upgrade を実行するだけで、常に最新版を使い続けられます。
📦 deb.griffo.io からインストールする
ステップ 1: リポジトリを追加する
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt update🆓 ずっと無料のミラーがあります。 deb-free.griffo.io は、アカウントもサブスクリプションもなしでパッケージをずっと無料で配布しています。上流より最大2か月遅れ、セキュリティ修正は即座に公開されます。現在収録しているのは cliamp、Ghostty、lazydocker、Oh My Posh と Zed です。Uncloud は含まれていないため、今日入手する方法は上のリポジトリだけですが、ご要望があれば追加できます。
ステップ 2: uncloud をインストールする
# 最新の uncloud をインストール
sudo apt install uncloud
# インストールを確認
uc --version# 最新の uncloud をインストール
apt install uncloud
# インストールを確認
uc --version🎯 基本的な使い方
最初のクラスタを初期化する:
# 最初のマシンでクラスタを初期化
uc machine init root@your-server-ip
# クラスタにマシンを追加
uc machine add --name server2 root@second-server-ip
# クラスタのマシンを一覧
uc machine lsアプリケーションをデプロイする:
# Docker イメージから HTTPS 付きでデプロイ
uc run -p app.example.com:8000/https image/my-app
# Docker Compose ファイルからデプロイ
uc compose up -f compose.yaml
# サービスをマシン間でスケール
uc scale my-app 3
# 動作中のサービスを一覧
uc lsデプロイを管理する:
# 新しいイメージでサービスを更新
uc update my-app image/my-app:v2
# サービスのログを見る
uc logs my-app
# サービスを削除
uc rm my-app
# クラスタを片付ける
uc machine rm server2🚀 deb.griffo.io を選ぶ理由
- 公式 Ubuntu: 公式リポジトリには存在しません
- インストールスクリプト: 更新も依存の管理も手動
- バイナリを手動管理: パッケージ管理も自動更新もありません
- deb.griffo.io: 最新版を自動更新でお届け
- ✅ 最新の機能: オーケストレーションとネットワークの最新の改善が手に入ります
- ✅ セットアップ不要: 依存関係をすべて含むビルド済みバイナリ
- ✅ 自動更新: 上流のリリースから数時間以内にパッケージを更新
- ✅ 全部入り: 必要なコンポーネントとスクリプトをすべて同梱
- ✅ マルチディストリビューション: Jammy と Noble で動作
- ✅ 手間のかからない運用: 更新は通常の apt コマンドだけ
📦 パッケージのビルドリポジトリ
Ubuntu パッケージは、この GitHub リポジトリで自動的にビルド・管理されています:
- 🌬️ uncloud-debian - 最新リリースのビルド
🔗 関連パッケージ
deb.griffo.io では、こちらも配布しています:
- unregistry - Docker イメージの直接転送(同じ作者)
- lazydocker - Docker 管理のためのターミナル UI
- fzf ファジーファインダー - コマンド検索を強化