Cloud in a Bottle: 自己ホスティングを誰もが利用できるようにする
Cloud in a Bottle: making self-hosting accessible to everyone (cloudinabottle.org)
要約
Cloud in a Bottleは、オープンソースのパーソナルクラウドプラットフォームであり、コンテナ化されたアプリケーション、統合認証、優れたユーザーエクスペリエンスを提供することで、自己ホスティングをスマートフォン利用のように容易にすることを目指しています。現代のウェブソフトウェアが抱えるインセンティブのずれや、既存の自己ホスティングソリューションの使いにくさといった課題に対処します。このプロジェクトは、より多くの優れたオープンソースWebソフトウェアの創造を促進することを目標としています。
全文翻訳
Cloud in a Bottle: セルフホスティングを誰もが利用できるようにする
TLDR: Cloud in a Bottleは、コンテナ化されたアプリ、統一認証、優れたUXを備えたオープンソースの個人向けクラウドです。セルフホスティングは、システム管理者の副業ではなく、Webアプリを提供するスマートフォンのような体験であるべきです。
[画像: ダッシュボードのスクリーンショット]
私はデジタル世界の現状に不満を感じています。私たちが使うソフトウェアは、私たちのインセンティブ(意図的に中毒性を持たせられている、広告が満載、あなたを追跡してデータを販売する、エンシュイット化されている)と大きくずれています。ソフトウェアを作るのはかつてないほど簡単なのに、どうしてこうなってしまったのでしょうか?その大きな理由の一つは、ソフトウェアがクラウドへと移行したことだと考えています。クラウドから提供されるソフトウェア(Google Docs対Microsoft Wordを考えてみてください)は、インストール不要で、すべてのデバイスからアクセスでき、即座に共有・共同作業ができるという素晴らしい体験を提供します。しかし、クラウドで何かを提供するには費用がかかるため、現代のWeb上のほぼすべてのものには企業が関わっています。オープンソースの作者は、自分のフリーソフトウェアを世界に提供するためにお金を払いたくないと思うのは自然なことです。そして、それらの企業は、私たちのインセンティブとは根本的にずれた経済的インセンティブを持っています。
クラウド以前の日々には、オープンソースは機能していました。作者はソフトウェアを配布し、誰もがそれを自分で「ホスト」していました(つまり、自分のPCで実行していました)。今日では、クラウドソフトウェアは中央集権化されており、一つのソフトウェアインスタンスが世界にサービスを提供し、そのコストは作成者が負担しています。これは、個人が自分自身のためにソフトウェアをクラウドに配置するためのアクセス可能な方法を持っていないためです。
セルフホスティングはすでに存在しますが、ニッチでとっつきにくいものです。既存の選択肢を見たとき、どれも適切だと感じられませんでした。
- sandstorm.io: 精神的には非常に近い(彼らの2014年の記事は、ここで私がしているのと同じ議論をしています)が、残念ながら長い間放棄されています。また、プラットフォームで実行するために既存のソフトウェアに大幅な変更が必要でした。
- nextcloud: 遅くて信頼性が低く、現在はよりエンタープライズ向けです。
- yunohost: アプリはホスト上で直接実行され、サンドボックス化されていません。一つの安全でないアプリがサーバー全体を侵害する可能性があります。
- coolify: コンテナ化されたアプリをホストしますが、各アプリは独自のログインを持つ孤島であり、ホストや他のアプリとの統合はほとんどありません。
私たちは、これに再び挑戦するためにCloud in a Bottleを作成しました。その核となるのは、ダッシュボードをホストし、HTTP(S)リクエストをコンテナ化されたアプリにルーティングするWebサーバーを備えたUbuntuマシンです。アプリは(rootlessで強化された)コンテナなので、最小限の変更で既存のソフトウェアを実行でき、合理的に安全なサンドボックス内で動作します。しかし、単にコンテナをホストする(例えばcoolifyのように)だけでなく、アプリが体験を向上させるために利用できる様々なオプトインプラットフォーム機能があります。ある意味では、それを自分の「クラウドスマートフォン」のように感じさせたいのです。それはあなたが所有するもので、素晴らしいアプリを見つけてインストールするのが簡単で、私たちが置き換えようとしているクローズドソース製品と同じくらい優れたユーザーエクスペリエンスを備えています。基本的な例として、インスタンスにログインしていれば、すべてのアプリに自動的にログインできます。個別のアプリごとにアカウントを作成する必要はありません。また、インスタンス内の異なるアプリ間でデータや機能への許可されたアクセスを可能にするインターフェースもあります。より一般的には、アプリが優れた統合体験(センサーアクセス、通知、健康データ共有など)を提供できるように、AndroidやiOSが提供するさまざまなAPIを考えてみてください。私たちは、パーソナルクラウドの文脈におけるそれらのAPIの適切な類似物について考えることに多くの時間を費やしました。
これはオープンソースで、セルフホスティング可能で、テレメトリはゼロであり、可能な限りシンプルで「マジックフリー」であることを目指しています。私たち(私が働く会社であるImbue)は、マネージドバージョンも提供しています。これは、これを広く利用可能にするために非常に重要だと考えており、プロジェクトをサポートするための明確なビジネスモデルを提供してくれます。しかし、オープンソース/セルフホストパスはまったく同じコードを実行し、常にファーストクラスであり続けます。
コアプラットフォームがほぼ完成し安定したため、6ヶ月以上にわたってプライベートで構築・テストした後、現在ローンチします。私は自分のデジタルライフを自分のBottleインスタンスにゆっくりと移行させてきましたが、それは素晴らしい気分です。とはいえ、鶏と卵の問題があります。オープンソースのWebソフトウェアをセルフホストするための広くアクセス可能な方法がなければ、そのようなソフトウェアのオーディエンスは小さく、利用可能なソフトウェアも限られています。私たちの大きな目標の一つは、より優れたオープンソースWebソフトウェアの作成を触媒することです。それは、他のソフトウェアオタクだけでなく、友人や両親にも勧められるようなものです。私たちのキュレーションされたアプリカタログはその方向への一歩です。私たちは高い基準を維持し、優れたユーザーエクスペリエンスを提供するものだけを追加することを目指しているので、現在はかなり小さいです。しかし、毎週追加しており、コミュニティの助けを借りてより速く成長させたいと考えています。今のところ、初期ユーザーは、インスタンスで実行したいものを見つけたり、作成したり、適応させたりするために、ある程度の技術的な知識(またはコーディングエージェント)が必要になるでしょう(それは非常に簡単です!)。時間とともに、カタログが深まり、エクスペリエンスをさらに磨くにつれて、誰もがよりアクセスしやすくなることを願っています。
試してみたいですか?
- マネージドインスタンスを無料で試す($10クレジット)
- クラウドVPSにセルフホストする
- 独自のハードウェアにインストールする(VM内またはベアメタル)
- GitHubでコードを見る
- Matrixでチャットする