少人数のユーザー グループとメディアを共有するためのツールまたは手法を探しています。最初に、理想的なソリューションが私にとって何をもたらすかを大まかに説明しましょう。
- HD ホーム ムービーや写真などの大きなファイル バイナリを処理します。
- 認証されたユーザーのみがコンテンツにアクセスできるようにします。
- コンテンツはユーザーのコンピューターにダウンロードされます。クラウド経由でストリーミングまたはアクセスされることはありません。これにより、限られた帯域幅を最大限に活用できます。
- バックグラウンドで (または必要に応じて簡単なコマンドを使用して) コンテンツを同期し、すべてのユーザーが追加された新しいコンテンツを取得できるようにします。
- あるユーザーがファイルの名前を変更したり、ディレクトリ構造を変更したりすると、次の同期後に他のすべてのユーザーに表示されます。
- 数百ギガバイト単位の巨大なデータ セットを処理します。唯一の制限は、ユーザーのマシンで利用可能なディスク容量です。
- 必要に応じて、ユーザーが全データ セットのサブセットのみを同期できるようにします (例: ホーム ビデオ フォルダを無視して、写真ディレクトリのみ)。小さいハード ドライブを使用している場合は特に重要です。
最初に、ファイルを友人の PC にバックアップできるCrashPlanなどのシンプルな rsync タイプのソリューションを考えました。これはほとんどの要件を満たしていますが、つまり、友人がファイルにアクセスできるようにし、同期をバックグラウンドで実行できるようにしますが、友人が新しいコンテンツをデータ セットにマージする方法は提供していません。双方向バックアップを設定する必要があります。これは、ユーザー数が増えるにつれて扱いにくくなります。
次に考えたのは、Git を使用することでした。ファイルサイズが大きい場合の問題が文書化されており、以前のバージョンのバイナリファイルがすべて必要なわけではありません。この調査中に、イノシシに出会いました. この非常に興味深いパッケージは、これまでで最も近いものです。ほぼすべての要件を処理します。私が Boar で目にする唯一の問題は、中央リポジトリを維持することを意図していることです。友人がコンテンツを追加すると、それはサーバーにコミットされ、他のすべての人はそこにアクセスして取得する必要があります。各ユーザーにデータ セットの完全なコピーを持たせたいので、各ユーザーはすべてのファイルを "チェックアウト" して、Boar サーバーからファイルを取得する必要があります。これは明らかに分散バージョン管理システムではないため、Boar の設計に反します。設計上、必要なものをチェックアウトし、作業を行ってから、ローカル マシンでリポジトリ全体を維持することなくチェックインします。
グループへの私の質問は、他に検討すべきツールやテクニックがあるかどうかです。