SMB Sync: vom Netzlaufwerk zu Photopilot
Ein kleines Programm, das eine SMB/Samba-Freigabe (z. B. eine StyleShoots-Maschine) überwacht und Fotoordner automatisch als Shoots und Packshots hochlädt.
Ein kleines Programm, das eine SMB/Samba-Freigabe (z. B. eine StyleShoots-Maschine) überwacht und Fotoordner automatisch als Shoots und Packshots hochlädt.
Ordner mit dem Namen S-<Setnummer> (z. B. S-1234) werden als Shoot für dieses Set hochgeladen.
Jeder andere Ordner wird als Artikel betrachtet: ein gescannter EAN/Barcode oder eine öffentliche Artikelnummer. Fotos mit back, side oder label im Dateinamen werden als diese Ansicht verknüpft — oder über Ihr eigenes Muster, siehe unten.
Für StyleShoots-Setups, die alle Dateien lose im Ordner ablegen: FLAT_PACKSHOT=true setzen. Lose Fotos werden nach Artikel-Identifier (dem Teil vor dem ersten Unterstrich) gruppiert und als Packshots synchronisiert.
Für StyleShoots-Setups, die alle Dateien lose im Ordner ablegen: FLAT_PACKSHOT=true setzen. Lose Fotos werden nach Artikel-Identifier (dem Teil vor dem ersten Unterstrich) gruppiert und als Packshots synchronisiert.
Ein Ordner wird erst synchronisiert, wenn 10 Minuten lang nichts geändert wurde. Unbekannte Artikel werden übersprungen und später erneut versucht. Bei Packshots löschen wir nur die Dateien, die tatsächlich hochgeladen wurden — der Ordner und der Rest bleiben bestehen.
Wähle die Version für dein System. Der Download ist eine .gz-Datei: Entpacken mit 7-Zip (Windows) oder gunzip (macOS/Linux).
Lade oben windows-amd64.exe.gz herunter, entpacke es und lege smbsync.exe in einen eigenen Ordner, z. B. C:\Photopilot\smbsync\.
CUSTOMER=Bedrijfsnaam
SMB_IP=192.168.1.10
SMB_USERNAME=styleshootssharing
SMB_PASSWORD=wachtwoord
SMB_MOUNT=StyleshootsDrive
START_DIR=sync
API_TOKEN=jouw-api-token
API_URL=https://app.photopilot.ai/api
LOG_LEVEL=info
TZ=Europe/Amsterdam
# Optioneel: StyleShoots-modus waarbij alle bestanden los in START_DIR staan
# (geen submap per artikel). Losse foto's worden gegroepeerd op artikel-
# identifier (het deel voor de eerste underscore) en als packshots gesynct.
FLAT_PACKSHOT=falseSMB_IP ist die IP-Adresse der Maschine mit dem Share (z.B. die StyleShoots oder Ihr NAS). SMB_MOUNT ist der Name des Shares selbst und START_DIR der Ordner innerhalb des Shares, der synchronisiert wird. Das Konto benötigt Lese- und Schreibrechte: hochgeladene Dateien werden nach dem Upload vom Share gelöscht.
Öffne die Aufgabenplanung (Task Scheduler), erstelle eine Aufgabe, die smbsync.exe beim Hochfahren des Computers startet, und setze 'Starten in' auf den Ordner mit der .env. Wähle 'Unabhängig von der Benutzeranmeldung ausführen'.
Erstellen Sie einen Testordner mit einem EAN-Code als Namen auf dem Share, legen Sie ein Foto hinein und warten Sie ±10 Minuten. Das Foto erscheint beim Artikel in Photopilot und verschwindet vom Share. Der Ordner selbst bleibt bestehen, mit einer status.json als Beweis, dass er verarbeitet wurde — Fotos, die wir nicht hochgeladen haben, bleiben ebenfalls bestehen. Fehler werden automatisch über Sentry an uns gemeldet.
Standardmäßig sucht SMB Sync nach den Wörtern back, side und label im Dateinamen; alle anderen Fotos werden ein eigenes Packshot mit diesem Foto als Vorderseite. Nicht jedes Studio benennt die Ansicht im Namen. StyleShoots nummeriert zum Beispiel pro Artikel: <EAN>_PNG_1 ist die Vorderseite, _PNG_2 die Rückseite und _PNG_3 die optionale Seite. Geben Sie dann selbst das Muster in Ihrer .env an:
FRONT_IDENTIFIER=_PNG_1$
BACK_IDENTIFIER=_PNG_2$
SIDE_IDENTIFIER=_PNG_3$FRONT_IDENTIFIER Vorderseite Standard: das erste Foto, das zu keiner anderen Ansicht gehört.BACK_IDENTIFIER Rückseite Standard: back im Dateinamen.SIDE_IDENTIFIER Seite Standard: side im Dateinamen.LABEL_IDENTIFIER Label (Waschanleitung) Standard: label im Dateinamen.Mit dieser Einstellung kommen 8712345678906_PNG_1, _PNG_2 und _PNG_3 zusammen als ein Packshot für Artikel 8712345678906 herein — also nicht als drei einzelne Fotos. Fehlt die Seite? Dann bleibt diese Ansicht einfach leer.
Jedes Muster ist nicht case-sensitiv und wird auf den Dateinamen ohne Erweiterung geprüft, also funktioniert PNG_1 genauso gut wie _PNG_1$ (das $-Zeichen bedeutet: am Ende des Namens). Sobald Sie FRONT_IDENTIFIER einstellen, werden nur Fotos hochgeladen, die zu einem dieser Muster passen — andere Dateien im Ordner bleiben unberührt. Lassen Sie eine Variable weg, bleibt die Standardregel bestehen.
Das Labelfoto ist das zusätzliche Foto des Wasch- oder Zusammensetzungslabels. LABEL_IDENTIFIER funktioniert genau wie die anderen drei, mit einer Sache zu beachten: Variablen, die Sie nicht einstellen, behalten ihren Standard. Im obigen Beispiel steht LABEL_IDENTIFIER also noch auf dem Wort Label. Drei Situationen:
off (oder none) funktioniert auch für BACK_IDENTIFIER und SIDE_IDENTIFIER und ist die einzige Möglichkeit, ein Standardwort auszuschalten. Bei FRONT_IDENTIFIER bedeutet off einfach zurück zum Standard: das erste Foto, das zu keiner anderen Ansicht gehört.
Hilfe bei der Installation nötig? Wir richten es auch gern gemeinsam mit dir ein.