AI生成画像などのメディアを管理する包括的なメディア管理システム。
- 複数メディアソース対応(ローカル/SFTP/S3)
- メタデータ管理(プロンプト、タグ、キャラクター、IP)
- 検索・ソート・サムネイル生成
- リアルタイム更新 (SSE)
- AI自動タグ付け
Runtime: Bun
Framework: TanStack Start
API: oRPC
UI: Kobalte + Tailwind CSS + solid-ui
Database: PostgreSQL / PGlite
ORM: Drizzle ORM
Validation: Zod
AI/ML: dghs-imgutils-rs
Testing: Vitest / Playwright
Tooling: Vite / Biome
apps/server/: メインサーバー (TanStack Start + oRPC)。バックエンドAPIとWeb UIを統合。apps/tauri/: Tauri アプリ。src/は独立 SPA、src-tauri/は Rust 実装。apps/cli/: メディア管理・同期用CLIツール。apps/xtracter/: メディア収集用ブラウザ拡張機能。packages/core/: ドメインモデル、Zodスキーマ、contract、各種 port。packages/application/: ユースケース・アプリケーションサービス。packages/db/: Drizzle schema、DB repository 実装、transaction manager。packages/ui/: 共通UIコンポーネントライブラリ。packages/client/: oRPC client factory などの共有クライアント基盤。
bun install
cp apps/server/.env.example apps/server/.env
sudo -E docker compose --project-directory . up -d
bun --filter @solid-imager/server run db:migrate
bun run devPostgreSQLを使わずPGliteで動かす場合は、DB_HOSTを上書きしてマイグレーションを実行します。
DB_HOST=pglite bun --filter @solid-imager/server run db:migrateAI自動タグ付けに使用する dghs-imgutils-rs は Rust の N-API アドオンです。GPU (CUDA) を有効にするには、システムにインストールされた共有 ONNX Runtime を動的リンクしてビルドしてください。
ORT_PREFER_DYNAMIC_LINK=1 ORT_LIB_PATH=/usr/lib bun install要件:
/usr/lib/libonnxruntime.so.1と/usr/lib/libonnxruntime_providers_cuda.soが存在すること- NVIDIA ドライバーと CUDA ランタイムがインストールされていること
CPU のみで使用する場合は通常通り bun install してください。
| コマンド | 用途 |
|---|---|
bun run dev |
開発サーバー起動 |
bun run check |
lint / format / typecheck |
bun run test |
Vitest テスト |
bun run format |
Biomeによるformat |
bun run lint |
lint |
bun --filter @solid-imager/server run db:generate |
マイグレーション生成 |
| ファイル | 用途 |
|---|---|
packages/db/src/schema.ts |
Drizzle DBスキーマ |
apps/server/drizzle.config.ts |
DB接続、マイグレーション |
biome.json |
Linter/Formatter |
vitest.config.ts |
Vitest projects |
apps/server/playwright.config.ts |
E2Eテスト |
compose.yml |
PostgreSQL (Docker) |
- API仕様: OpenAPI、Swagger UI
- Tauri SPA:
apps/tauri/src/、Rust側apps/tauri/src-tauri/ - V2移行状況: REPORT.md
- DBスキーマ:
packages/db/src/schema.ts - 開発ルール: AGENTS.md