HyperDrive
セルフホスト型ファイル管理 — P2P 直接転送と AI 検索をひとつに。
ファイルは自分のサーバーに保管し、機密の受け渡しはデバイス間直接転送(WebRTC)で完結。
ファイル名を忘れてもベクトル検索・OCR 検索で見つけられる個人用ファイル基盤です。
クイックスタート(Docker Compose・全部入り)
PostgreSQL / Valkey / Qdrant / RustFS / API / Web / ゲートウェイ / OCR / キャプションを まとめて起動できます。
# OCR 用のサブモジュールを取得(api イメージに焼き込むため必須)
git submodule update --init extern/ndlocr-lite
docker compose up -d --build
# → http://localhost:8080 (UI・API・WebSocket すべて同一オリジン)
-
初回は API 起動時に埋め込みモデル(~100MB)のダウンロードが走ります
-
OCR(ndlocr-lite)は api イメージに同梱され、対応画像のアップロードで自動実行されます
-
キャプション生成(Florence-2)は既定で有効。caption サービスが初回に公開モデル (microsoft/Florence-2-base, ~0.5GB)を DL します。 不要なら
CAPTION_DRIVER= docker compose up -dで無効化できます -
apalis ジョブダッシュボード → http://localhost:3401
クイックスタート(手動セットアップ)
# 1. バックエンドの環境変数を設定
cp apps/api/.env.example apps/api/.env
# 2. フロントエンドの依存関係をインストール
cd apps/web && sudo corepack enable pnpm && pnpm install
# 3. DBマイグレーションを実行
cd apps/api && cargo run -p migration -- up
# 4. OpenAPI 型定義を生成
cd apps/web && pnpm generate:api
# 5. 起動(ターミナルを2つ使う)
cd apps/api && cargo run # バックエンド → http://localhost:8080
cd apps/web && pnpm dev # フロントエンド → http://localhost:3400
詳細な手順・トラブルシューティングは 開発環境 を参照。
主な機能
技術スタック
ブラウザ → TanStack Start → Rust API → PostgreSQL / Valkey / RustFS
↓
Python FastAPI → Qdrant
P2P 時: ブラウザ ←── WebRTC ──→ ブラウザ(ファイル本体は API を通らない)
サービス一覧・ポート・通信経路の詳細 → アーキテクチャ