homegallery.orgは、タグ付け、モバイルに優しい、AI駆動の画像と顔の発見をフィーチャーした個人的な写真やビデオを閲覧するための自己ホストのオープンソースWebギャラリーです。デモギャラリーを試すか、食べ物の画像をお楽しみください!
注:このソフトウェアは、保証なしのプライベートペット/スペアタイムプロジェクトです。 gitter.imまたはdiscordについて質問してください。
あなたはホームガレリーが好きですか?それはあなたのメディアの問題を解決しますか?助けたいですか?貢献しているGuidlinesを読んで、私のpatreon.com/xemleへの繰り返しの財政的支援を通じて、または私のpaypal.me/xemleアカウントへの1回のサポートを通じてこのプロジェクトをサポートしてください。よろしくお願いします。
MITライセンス
HomeGalleryを使用するには、次の手順を実行する必要があります
~/Picturesのようなメディアソースで構成を開始します curl -sL https://dl.home-gallery.org/dist/latest/home-gallery-latest-linux-x64 -o gallery
chmod 755 gallery
./gallery init --source ~/Pictures
./gallery run server
ローカルホストを開きます:ブラウザで3000。 CLIのさらなる助けのために./gallery -hを実行します。
さらなるバイナリについては、dl.home-gallery.org/distを参照してください。例えば。 Linux、Mac、またはWindowsの最新のバイナリ。
構成gallery.config.yml 、微調整のために現在のディレクトリにあります。詳細については、ドキュメントのインストールセクションを参照してください。
mkdir -p data
alias gallery="docker run -ti --rm
-v $(pwd)/data:/data
-v $HOME/Pictures:/data/Pictures
-u $(id -u):$(id -g)
-p 3000:3000 xemle/home-gallery"
gallery init --source /data/Pictures
gallery run server
ローカルホストを開きます:ブラウザで3000。 CLIのさらなる助けのためにgallery -hを実行します。
ギャラリーの構成は、微調整のために./data/config/gallery.config.ymlにあります。
Docker Composeを使用したいですか?詳細については、ドキュメントのインストールセクションを参照してください。
一般的なドキュメントについては、docs.homegallery.orgを参照してください。
完全な「データベース」がブラウザにロードされます。私の100.000メディアは、約100 MBのプレーンJSONと12 MBの圧縮JSONです。パフォーマンスは、現在のモバイルデバイスで非常に優れています。ユーザーは、400.000を超えるメディアファイルを備えたセットアップの成功を報告しました。さらなるフィードバックは大歓迎です。
Homegalleryには、Linux、MacOS、Windowsのバイナリが事前に構築されています。さらにダウンロードオプションはこちらをご覧ください。
使用については、インストールセクションを参照してください。
Homegalleryの目標は、機密性の高いプライベート画像データが可能な限り少ない公共のセリビューを使用することです。ローカルを展開できるサービスを使用しようとします。ただし、セットアップには技術的な知識と技術的なメンテナンスが必要です。次のサービスが呼び出されます:
Geo Reverse Lookups(Geo Coordinates to Addess)の場合、HomeGalleryはOpenStreetMapのNominatimサービスを照会します。ジオ座標のみが送信されます。
逆の画像検索(同様の画像検索)、オブジェクトの検出、顔の認知のために、HomeGalleryはapi.home-gallery.orgで独自のパブリックAPIを使用します。このパブリックAPIは、SOC Raspberry Piなどの低電力デバイスをサポートし、すべてのプレビュー画像はデフォルトでこのパブリックAPIに送信されます。画像やプライバシーデータは保持されません。
APIは構成し、ローカルまたはDockerコンテナとしても実行できます。使用については、インストールセクションを参照してください。
HomeGalleryは、Linux(Raspberry PIS)、Mac、WindowsなどのさまざまなプラットフォームでサポートされているJavaScriptランタイムNodejsで実行されます。
ほとんどの場合、カスタマイズされた環境で十分でなければなりません
# Clone or download the repo from GitHub
git clone https://github.com/xemle/home-gallery.git
cd home-gallery
# Install required packages
npm install
# Build required modules
npm run build
一部の角質では、ライブラリバインディングをコンパイルするための不可欠なビルドツールも必要になる場合があります。
HomeGalleryは、マルチパッケージを備えたNPMワークスペースを使用しています。一般的なNPMスクリプトは、 clean 、 build 、 testです。
パッケージdatabaseサブセットのみを実行するには、PNPMのフィルター機能を使用できますexport-static
npx pnpm -r --filter './*/{export-static,database}' build
特定のパッケージからユニットテストを実行する(PNPM経由)
npx pnpm -r --filter './*/{query,events}' test
特定のE2Eテストを実行します(ゲージ経由)
git clone https://github.com/xemle/home-gallery-e2e-data.git data
npm run test:e2e -- --tags dev
home-gallery-e2e-dataには、Git LFSを使用してテストファイルが含まれています。
E2Eテスト出力データは/tmp/gallery-e2eディレクトリに保存されます。最新のテスト実行は、ホームガレリーワーキングディレクトリ内のディレクトリのlatest-e2e-testにシンプルされています。各テストディレクトリのcli.logおよびe2e.log (NDJSON形式)を確認してください。
機能ブランチからローカルバイナリバンドルを作成します
node scripts/bundle.js --version=1.3 --snapshot=-feature-test --filter=linux-x64 --no-before --no-run
Sharp、FFMPEG、FFProbeなどのNPMを介してバイナリを除外するローカルネイティブバンドルを作成します。どこでも実行する必要があるJSコードのみを含める必要があります。適切に動作するには、 PATH環境の外部バイナリVIPSTHUMBNAIL、FFMPEG、FFProbeが必要です。
node scripts/bundle.js --version=1.3 --snapshot=-feature-test --filter=linux-native --no-before --no-run
現在の開発状態をリセットし、非常に奇妙なエラー動作で新たに開始するには、実行する場合があります。
rm -rf package-lock.json node_modules e2e/node_modules packages/*/node_modules
npm install && npm run clean && npm run build