同期サーバーを自分で運用する。
同期サーバーは封印された箱を保存し、保管庫ごとにカウンターを保ち、変更を受け入れる前に署名を検査します。鍵を持つことも名前を見ることも決してないため、自分のコピーを運用する費用はごくわずかです。
実行場所とオブジェクトの保存先を選んでください。このページが設定を作成するので、それを所定の場所に貼り付けてください。
動かせる 3 つの場所。
同じコードが 3 つすべてに対応します。Cloudflare Worker はアカウントしか要求しません。バイナリやコンテナは、あなたが既に持っているマシンを必要とします。どちらを選んでも、保管庫の鍵はあなたのデバイスにとどまります。
Cloudflare Worker
無料プランで小さなサーバーを運用できます。インデックスは D1 データベースで、オブジェクトは S3 互換バケットに保存されます。個人用の保管庫であれば、動かし続けるものも支払うものもありません。
ネイティブバイナリ
Linux、macOS、Windows 上の 1 つのプロセスです。平文の HTTP で動作し、HTTPS には手前のプロキシを前提とします。いずれにせよ箱は封印され署名されているため、平文の HTTP はここでは弱点になりません。
コンテナ
同じバイナリに、環境変数として渡す同じ設定です。マシンで既にコンテナを動かしていて、ソースからビルドしたくない場合に使ってください。
サーバーなし
同期は任意です。保管庫は 1 台のデバイスにとどまり、ローカルバックアップを持ち、ネットワークに一切触れないこともできます。保管庫の内部を変えずに、後からサーバーを追加できます。
4 つの質問に答えて、結果をコピーしてください。
設定の形はどこでも同じです:TOML フィールド、または同じフィールドを環境変数として。Worker は S3 バケットのみを受け付けます。バイナリとコンテナは通常のディレクトリと Git リポジトリにも書き込めます。
セルフホスト用ZIPをダウンロードして展開してください。Rustコンパイラは不要です。
GitHub Releases · self-host ZIP
設定を更新しました。
デプロイ前にデータベースとバケットを作成してください。すべてのプレースホルダーを置き換えてください。
起動前にストレージディレクトリを作成し、すべてのプレースホルダーを置き換えてください。
コピーできませんでした。テキストを選択して手動でコピーしてください。
コピーできませんでした。テキストを選択して手動でコピーしてください。
シークレットは Worker のシークレットにとどまり、ファイルには一切入りません。Worker は S3 互換ストレージにのみ書き込みます。
バイナリは平文の HTTP で動作します。マシンがインターネットから到達可能な場合は、手前にプロキシを置いてください。
コンテナは内部のすべてのインターフェースで待ち受けるため、公開されたポートから到達できます。
封印された箱の保存先を少なくとも 1 つ選んでください。サーバーは 1 つも指定されていないと起動しません。
山括弧で囲まれた値は、あなたが入力するものです。ここで入力したものがこのページから出ることはありません:テキストはあなたのブラウザ内で組み立てられます。
保管庫をそこに向けてください。
新しい保管庫は sync.confidex.me を使います。アドレスの変更はアプリ内の 1 つの設定で済み、保管庫は動作を続けます。アドレスは保管庫の一部でも、その識別の一部でもありません。
- アプリ内で
- 保管庫の設定を開き、同期サーバーのアドレスを自分のものに置き換えてください。クライアントが API パスを自動で追加します。
- 共有オリジン
- アプリと API は 1 つのドメインに置けます。API のプレフィックスをサーバーに、それ以外をアプリにルーティングしてください。
- アカウント
- 作成すべきものはありません。保管庫は署名済みのロックをアップロードして自ら登録し、その後は署名鍵の保持者だけが置き換えられます。
- 複数のサーバー
- 1 つの保管庫は、一度に 1 つのサーバーと通信します。別のサーバーへの移行も、同じ 1 つの設定で済みます。
サーバーの所有者がすべきこと。
ごくわずかで、秘密に関わることは何もありません。サーバーは封印された箱と、それらを指すインデックスを保持します。バックアップは両方のコピーです。
バックアップ
インデックスとオブジェクトストレージを一緒にコピーしてください。オブジェクトは不変でダイジェストによって命名されるため、サーバー稼働中に取ったコピーも有効なままです。
アップグレード
バイナリを置き換える、または Worker を再度デプロイしてください。インデックスのスキーマは、ネイティブインデックスでは起動時に、D1 ではスキーマファイルで適用されます。
アクセス
ストレージの認証情報は、サーバーを自身のストレージに対して認可するものです。保管庫の鍵とは無関係で、箱を 1 つも開けられません。
ライセンス
サーバーは GNU AGPL-3.0 のもとにあります。他者のために運用する変更はオープンなままです。自分のためだけに運用するコピーには義務がありません。