Home-galery.org ist eine selbst gehostete Open-Source-Webgalerie, in der persönliche Fotos und Videos mit Tagging, mobilfreundlichem und KI-betriebenem Image und Gesichtsbewegung durchsucht werden können. Probieren Sie die Demo -Galerie oder genießen Sie die Lebensmittelbilder!
Hinweis: Diese Software ist ein privates Projekt für Haustiere/Freizeit ohne Garantie. Stellen Sie Fragen auf Gitter.im oder Discord.
Magst du Homegallery? Löst es Ihr Medienproblem? Möchten Sie helfen? Bitte lesen Sie die beitragenden Leitlinien und unterstützen Sie dieses Projekt durch eine wiederkehrende finanzielle Unterstützung für mein Patreon.com/xemle oder eine einmalige Unterstützung für mein Konto paypal.me/xemle. Vielen Dank im Voraus.
MIT -Lizenz
Die folgenden Schritte müssen durchgeführt werden, um HomeGallery zu verwenden
~/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
und Open Localhost: 3000 in Ihrem Browser. Laufen ./gallery -h für weitere Hilfe der CLI.
Weitere Binärdateien finden Sie unter dl.home-gallery.org/dist. Z.B. Neueste Binärdateien für Linux, Mac oder Windows.
Die gallery.config.yml finden Sie im aktuellen Verzeichnis für die Feinabstimmung. Weitere Informationen finden Sie in der Dokumentation Installation in der Dokumentation.
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
und Open Localhost: 3000 in Ihrem Browser. Run gallery -h für weitere Hilfe der CLI.
Die Galeriekonfiguration finden Sie in ./data/config/gallery.config.yml für die Feinabstimmung.
Möchten Sie Docker Compose verwenden? Weitere Informationen finden Sie in der Dokumentation Installation in der Dokumentation.
In der allgemeinen Dokumentation finden Sie unter docs.home-galery.org.
Die vollständige "Datenbank" wird in den Browser geladen. Meine 100.000 Medien sind ungefähr 100 MB Plain JSON und 12 MB -komprimierte JSON. Die Leistung ist auf dem aktuellen mobilen Gerät recht gut. Ein Benutzer meldete ein erfolgreiches Setup mit über 400.000 Mediendateien. Weiteres Feedback ist willkommen.
Homegallery verfügt über vorbaute Binärdateien für Linux, MacOS und Windows. Weitere Download -Optionen finden Sie hier.
Siehe Abschnitt Installationsnutzung.
Das Ziel der Homegallery ist es, weniger öffentliche Serivces wie möglich zu verwenden, um sensible private Bilddaten zu verwenden. Es versucht, Dienst zu nutzen, der lokal eingesetzt werden kann. Das Setup erfordert jedoch technisches Wissen und technische Wartung. Die folgenden Dienste heißt:
Für Geo Reverse -Lookups (GEO -Koordinaten zum Addess) fragt HomeGallery den Nominatim -Service von OpenStreetMap ab. Es werden nur Geo -Koordinaten übertragen.
Für umgekehrte Bild-Lookups (ähnliche Bildsuche), Objekterkennung und Gesichtserkennung verwendet HomeGallery die eigene öffentliche API auf api.home-gallery.org . Diese öffentliche API unterstützt Geräte mit niedrigem Stromverbrauch wie den SoC Raspberry Pi und alle Vorschau -Bilder werden standardmäßig an diese öffentliche API gesendet. Es werden keine Bilder oder Datenschutzdaten aufbewahrt.
Die API kann auch lokal oder als Docker -Container konfiguriert und ausgeführt werden. Siehe Abschnitt Installationsnutzung.
Homegallery läuft auf dem JavaScript -Laufzeit -Nodejs, das von verschiedenen Plattformen wie Linux (auch Raspberry PIs), Mac und Windows unterstützt wird.
In den meisten Fällen sollte eine maßgeschneiderte Umgebung mit ausreichen mit ausreichen
# 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
In einigen Cornor -Fällen benötigen Sie möglicherweise auch wichtige Build -Tools, um Bibliotheksbindungen zu erstellen.
Homegallery verwendet NPM -Arbeitsbereiche mit Multi -Paketen. Häufige NPM -Skripte sind clean , build , test .
Um nur eine Teilmenge von Paketen auszuführen, können Sie die Filterfunktion von PNPM verwenden, z. B. export-static und Datenbank für Modul-Modul: database :
npx pnpm -r --filter './*/{export-static,database}' build
Führen Sie Unit -Tests aus bestimmten Paketen aus (über PNPM)
npx pnpm -r --filter './*/{query,events}' test
Führen Sie spezifische E2E -Tests aus (über Messgeräte)
git clone https://github.com/xemle/home-gallery-e2e-data.git data
npm run test:e2e -- --tags dev
home-gallery-e2e-data enthält Testdateien mit Git-LFS.
Die E2E-Testausgabedaten werden im Verzeichnis /tmp/gallery-e2e gespeichert. Der neueste Testlauf wird in das Verzeichnis latest-e2e-test im HomeGalegalery Working Directory eingebaut. Überprüfen Sie das cli.log und e2e.log (NDJSON -Format) in jedem Testverzeichnis.
Erstellen Sie aus einem Feature -Zweig ein lokales binäres Bündel
node scripts/bundle.js --version=1.3 --snapshot=-feature-test --filter=linux-x64 --no-before --no-run
Erstellen Sie ein lokales natives Bundle, das Binärdateien über NPM wie Sharp, FFMPEG und FFPROBE ausschließt. Es sollte nur JS -Code enthalten, der überall ausgeführt wird. Es erfordert externe Binärdateien VipsThumbnail, FFMPEG und FFPROBE in der PATH , um ordnungsgemäß zu funktionieren.
node scripts/bundle.js --version=1.3 --snapshot=-feature-test --filter=linux-native --no-before --no-run
Um den aktuellen Entwicklungszustand zurückzusetzen und in einem sehr seltsamen Fehlerverhalten neu zu beginnen, können Sie ausführen:
rm -rf package-lock.json node_modules e2e/node_modules packages/*/node_modules
npm install && npm run clean && npm run build