世界を動かす技術を、日本語で。

Twake Drive – Google Driveのオープンソース代替品

2025年10月24日原文(github.com)

概要

Twake Driveのローカル環境構築手順を簡潔にまとめ Dockerまたは手動セットアップの方法を説明 必要な前提条件と推奨ツールの案内 主要なコマンドや設定ファイルの場所を紹介 ライセンス情報も明記

Twake Drive ローカル環境構築ガイド

  • Twake Drive は、 オープンソースのドライブ管理ツール
  • GitHubリポジトリ からクローンしてローカルで利用可能
  • Docker または 手動セットアップ の2通りの構築方法を提供

クローン手順

  • リポジトリのクローン
    • git clone https://github.com/linagora/twake-drive

Dockerでの起動

  • ディレクトリ移動
    • cd tdrive
  • 最小構成での起動
    • docker compose -f docker-compose.minimal.yml up
  • ブラウザでアクセス
    • http://localhost/

開発環境前提条件

  • Node.js (バージョン 18.x以上
  • MongoDB
  • Yarn (推奨)

手動セットアップ

  • MongoDB の起動(Docker利用例)
    • docker run -p 27017:27017 -d mongo
  • フロントエンド の起動
    • cd tdrive/frontend/; yarn dev:start
  • バックエンド の起動
    • cd tdrive/backend/node/; SEARCH_DRIVER=mongodb DB_DRIVER=mongodb PUBSUB_TYPE=local \
    • DB_MONGO_URI=mongodb://localhost:27017 STORAGE_LOCAL_PATH=/[full-path-to-store-documents]/documents \
    • NODE_ENV=development yarn dev
  • 追加パラメータが必要な場合
    • tdrive/backend/node/config/development.jsonファイルを作成・編集

ポート情報

  • アプリケーションは ポート3000 で稼働

主要ファイル

  • README.md :概要と手順
  • docker-compose.yml :Docker構成
  • CONTRIBUTING.md :貢献ガイド
  • CODE_OF_CONDUCT.md :行動規範
  • LICENSE :ライセンス詳細

ライセンス

  • Affero GPL v3 でライセンスされたオープンソースプロジェクト

Hackerたちの意見

他の人も聞いてるけど、nextCloudとownCloudと比べてどうなの? Windows/Mac/モバイル用のネイティブクライアントはあるの?

ownCloudのファンになりたいんだけど、Mac/Linux/mobileでネイティブにクライアントを提供してるのに、めちゃくちゃなんだよね。どのプラットフォームにも小さなバグや信頼性の問題があって、全体が役に立たなくなっちゃってる。

IME NextCloudは、パフォーマンスが悪い膨れ上がったPHPモンスターだね。Twakeはもっとスリムで、範囲も狭いみたい。

一度ネクストクラウドをインストールしようとしたけど、ほんとに苦痛な経験だったよ。

これにデータベースって本当に必要なの? Unixシステムなら、ユーザーやファイル、ディレクトリのCRUDができるはずだし、ファイルやディレクトリに権限を付与することもできるよね。 "Google Drive"の代替として、これらの機能を持つUIやAPIラッパーを提供する10年前のソフトウェアってあるのかな? SAMBAプロトコルを使って。

自宅ネットワークの外にSAMBA共有を公開してるの?

… まあ、usersdocumentsコレクションを「結合」できるのは理にかなってるし、集約パイプラインの表現力をフルに活用できるからね(MongoDBコレクションに追加のインデックスを簡単に追加したり、トランザクションを持ったり、レプリケーションも追加できるのは、一般的なファイルシステムでは難しい)。ドキュメントにバージョン管理されたメタデータをいろいろ載せられるし、変なエンコーディングを考えなくてもいいし、POSIX(やNodeJS)がFS関連の機能をたくさん提供してるけど、すごくシンプルに保つのが理にかなってると思うし、Windowsでも簡単にハックできるよね。

SCPかFTPクライアントとか?

それについては知らないけど、前に考えたことがあって、Pythonとfsspecを使ってみたことがある。ローカルファイルや好きなファイルシステム(sshやs3など)で動くGoogle Driveスタイルのインターフェースがあったらめっちゃいいよね。

これにデータベースって本当に必要なの? このプロジェクトがどう設計されたのかは全然わからないけど、a) ディスク操作はキャッシュできるし、すべきだと思うし、b) 複数ノード間でファイル共有を同期するのはメタデータを保存することが簡単に含まれるよね。どちらの場合でも、データを永続化する必要があるって気づいたら、データベースを使わない理由を見つけるのは難しいと思うよ。

もしかしたら、ファイルをディスクに保存する代わりにMongoDB GridFSを使ってるのかもね。

正直言って、Active DirectoryのACLを使った基本的なSamba共有が、実は最高のストレージシステムなんじゃないかと思ってる。でも、権限管理のUIがクソで、ほとんどの人が自分の思い通りに設定するためのアクセス権が足りないんだよね。全体的に見ても、Hashicorp Vaultが要求する設定をするより、Sambaファイル共有とACLでずっと便利な権限を設定できるよ。特定のリソースへのアクセスを簡単に許可できるし、IISとKerberosを使えばHTTP APIも使えるしね。

Hacker Newsで議論の続きを見る