Photo Stream ist ein einfacheres Zuhause für Ihre Fotos, das ursprünglich von @maxvoltar erstellt wurde und jetzt von @waschinski, @boerniee und Freunden gepflegt wird. Einfach zu bedienen, selbst gehostet, kein Tracking, nur Fotos.
Es gibt eine Demo dieses Repositorys, das im Rahmen eines kostenlosen Plans auf Render gehostet wird.
Wir machen gerne Fotos und teilen sie. Das Problem ist, dass es heutzutage schwierig ist, die eigenen Fotos und deren Darstellung in den sozialen Medien wirklich zu besitzen. Deshalb haben wir uns vorgenommen, einen Platz für sie zu schaffen. Sie hosten es selbst, wo immer Sie wollen (Netlify, Github Pages...), Sie haben die Kontrolle.
Bisher bestand die empfohlene Methode zur Installation von Photo Stream darin, das Repository zu teilen. Meiner Meinung nach war das nicht wirklich optimal und als Fan von Docker begann ich, an Optimierungen zu arbeiten, um Photo Stream in einem Container auszuführen. Aus diesem Grund wurde die Konfiguration von _config.yml
nach .env
verschoben, sodass Sie beim Wechsel vom ursprünglichen Repo die .env
Datei entsprechend einrichten müssen.
Es gibt ein Image bei Docker Hub, das Sie abrufen können mit:
docker pull waschinski/photo-stream:latest
Alternativ können Sie die Datei docker-compose.yml
herunterladen, die Konfiguration nach Bedarf ändern und den folgenden Befehl verwenden, um Photo Stream zum Laufen zu bringen:
docker-compose up -d
Der photos
kann als Volume bereitgestellt werden. Stellen Sie sicher, dass Sie Ihre Fotos in einem Ordner mit dem Namen original
ablegen.
linux/arm/v6
):Voraussetzungen: Docker und Docker-Compose sind auf RPI installiert
Kommentieren Sie in docker-compose.yml image
, kommentieren Sie build
Abschnitt aus und richten Sie BASE_IMAGE
arg auf arm32v6/ruby:3.1.2-alpine3.16
ein.
Dann docker-compose build
Dann docker-compose up -d
Holen Sie sich die neueste Version von der Release-Seite und extrahieren Sie sie.
Stellen Sie sicher, dass Sie die folgenden Anforderungen erfüllen, um Photo Stream auszuführen:
Wie Sie diese installieren, hängt von Ihrem Betriebssystem ab. Debian-Benutzer werden sich für sudo apt-get install build-essential
entscheiden, während Sie unter MacOS mit xcode-select --install
zufrieden sein sollten.
Überprüfen Sie, ob Ruby bereits installiert ist ( ruby -v
). Wenn Sie dies nicht tun, können Sie die hier bereitgestellten Installationsanweisungen befolgen.
Anweisungen zur Installation von libvips finden Sie hier.
Als nächstes müssen Sie Jekyll installieren (ein einfacher gem install bundler jekyll
sollte ausreichen). Stellen Sie sicher, dass Sie die Anforderungen erfüllen oder installieren Sie sie ebenfalls, bevor Sie fortfahren.
Sobald alle diese Anforderungen erfüllt sind, können Sie endlich alle für Photo Stream erforderlichen Gems installieren (Sie sollten sich im Photo Stream-Ordner befinden):
bundle install
Forken Sie dieses Repo und fügen Sie Ihre eigenen Fotos zum Ordner photos/original
hinzu. Melden Sie sich bei Ihrem Render-Konto an oder erstellen Sie ein neues. Erstellen Sie im Render-Dashboard eine neue statische Site. Verbinden Sie Ihr Github-Konto und wählen Sie Ihr Fotostream-Repository aus. Wählen Sie den richtigen Zweig aus und passen Sie den Build-Befehl ( bundle exec jekyll build
) und das Veröffentlichungsverzeichnis ( _site
) an. Unter „Erweitert“ Add Secret File
und erstellen eine .env
Datei mit Ihren angepassten Umgebungsvariablen. Möglicherweise können Sie diese Datei direkt in Ihrem Repo ändern und den vorherigen Schritt (Hinzufügen einer geheimen Datei) überspringen, aber ich habe dies nicht getestet.
Legen Sie Ihre Fotos (ohne Größenänderung) im Verzeichnis photos/original
ab. Optional können Sie ihnen einen Namen geben, der als Titel der Fotoseite und im RSS-Feed erscheint.
Dieser Befehl stellt die statische Seite auf Ihrem lokalen Computer bereit. http://localhost:4000
bundle exec jekyll serve
Sie können Ihre Website auch statisch erstellen, um sie auf einen regulären Webhost hochzuladen.
bundle exec jekyll build
Laden Sie nun den Inhalt des Verzeichnisses _site/ auf Ihren Webserver hoch.
Führen Sie einfach das Skript, das Sie ausführen müssen, direkt aus dem Ordner _scripts
wie folgt aus:
sh ./_script/build-n-lftp.sh
build.sh
erstellt Ihre Site, während rsync.sh
und lftp.sh
sie entsprechend synchronisieren. build-n-rsync.sh
und build-n-lftp.sh
führen einfach beide Schritte in einem aus. Vergessen Sie nicht, Ihre Synchronisierungskonfiguration in der .env
Datei hinzuzufügen.
Als Erstes möchten Sie ein paar Dinge in /.env
bearbeiten:
TITLE
: Der Titel Ihres Fotostreams.EMAIL
: Ihre E-Mail-Adresse (diese Zeile ist optional, Sie können sie entfernen).AUTHOR_NAME
: Ihr Name.AUTHOR_EMAIL
: Ihre E-Mail-Adresse (optional).AUTHOR_WEBSITE
: Ihre Website (könnte die Adresse dieses Fotostreams sein).DESCRIPTION
: Beschreibung Ihres Fotostreams.BASEURL
: Sollte leer bleiben oder entfernt werden URL
: Wo wird dieser Fotostream übertragen (Beispiel: https://maxvoltar.photo
), darf NICHT mit / enden, sonst werden die Links durcheinander gebracht.SHOW_RSS_FEED
: Legen Sie entweder 1
oder 0
fest, um die Anzeige der RSS-Feed-Schaltfläche zu aktivieren oder zu deaktivieren.SHOW_OFFICIAL_GITHUB
: Auf 1
oder 0
setzen, um die Anzeige des Links zum offiziellen Github-Repository zu aktivieren oder zu deaktivieren.DEFAULT_REVERSE_SORT
: Setzen Sie dies auf 1
um die Sortierreihenfolge der Fotos umzukehren und die ältesten Fotos zuerst anzuzeigen. Der Standardwert ist 0
.ALLOW_ORDER_SORT_CHANGE
: Setzen Sie dies auf 1
damit Benutzer die Sortierreihenfolge der Fotos umkehren können.ALLOW_ORIGINAL_DOWNLOAD
: Setzen Sie dies auf 1
, damit Benutzer die Fotos in ihrer Originalgröße herunterladen können.ALLOW_INDEXING
: Setzen Sie dies auf 0
um zu verhindern, dass Crawler Ihren Fotostream indizieren, indem sie Meta-Tag robots
hinzufügen. Der Standardwert ist 1
.ALLOW_IMAGE_SHARING
: Setzen Sie dies auf 1
um Benutzern das Teilen von Bildern mit Freunden zu ermöglichen. Der Standardwert ist 1
.TWITTER_USERNAME
: Ihr Twitter-Benutzername oder diese Zeile entfernen/kommentieren.GITHUB_USERNAME
: Ihr Github-Benutzername oder entfernen/kommentieren Sie diese Zeile.INSTAGRAM_USERNAME
: Ihr Instagram-Benutzername oder entfernen/kommentieren Sie diese Zeile.SYNCUSER
: Ihr Benutzername, der von lftp/rsync in den Shell-Skripten verwendet wird, um Ihre Site mit Ihrem Webserver zu synchronisieren.SYNCPASS
: Ihr Passwort, das von lftp/rsync in den Shell-Skripten verwendet wird, um Ihre Site mit Ihrem Webserver zu synchronisieren.SYNCSERVER
: Die URL Ihres Webservers, der von lftp/rsync in den Shell-Skripten verwendet wird, mit denen Ihre Site synchronisiert wird.SYNCFOLDER
: Der Ordner auf Ihrem Webserver, der von lftp/rsync in den Shell-Skripten verwendet wird und mit dem Ihre Site synchronisiert wird. Schließen Sie den @
-Teil nicht in Ihre Social-Media-Benutzernamen ein. Links zu Ihren Github-, Twitter- und Instagram-Profilen werden nur angezeigt, wenn sie festgelegt sind.
Bevor Sie Ihre Website veröffentlichen, passt Jekyll die Größe Ihrer Fotos in drei verschiedene Bereiche an:
/photos/large
: Diese werden nur angezeigt, wenn ein Benutzer zu einer Fotoseite navigiert. Standardmäßig werden diese auf eine maximale Breite von 2048 und eine Höhe von 2048 geändert. Wenn Sie möchten, können Sie diese ändern, indem Sie die Werte in /_config.yml
ändern (standardmäßig sehen sie etwa so aus: resize_to_limit: [2048, 2048]
)./photos/thumbnail
: Diese werden im Raster verwendet. Photo Stream lädt alle Miniaturansichten oberhalb der Falte und weitere, wenn Sie nach unten scrollen. alles, um Bandbreite zu sparen. Die Standardgröße hierfür beträgt 640 x 640 (maximal), Sie können dies jedoch bei Bedarf auch ändern./photos/tint
: Was Sie sehen, während die Seite ihre ersten Miniaturansichten lädt, wird auch als Hintergrund für Fotoseiten verwendet.