# Foto-Pipeline Wie Fotos von einem Gerät bis zu einer öffentlichen, für jede Bildschirmgröße passenden URL unter `data.0ff.space` kommen. ## 1. Upload nach blunix Zwei Wege, beide landen als rohe Originaldateien (HEIC/JPEG, volle Kameraauflösung) auf blunix: - **Tailscale (Taildrop):** vom Absender-Gerät aus per Tailscale-Share verschickt, auf blunix abgeholt mit `tailscale file get --verbose ` — leert die Ablage (Dateien verschwinden aus der Warteschlange, sobald sie abgeholt wurden). - **SMB:** über die Samba-Freigabe aus `hosts/pinix/localServices/webdav.nix`. ## 2. Verkleinern `scripts/resize-image.sh` (ImageMagick, `magick`-Befehl): ``` scripts/resize-image.sh INPUT [BASENAME] [OUTPUT_ROOT] ``` Erzeugt aus einer Eingabedatei vier Größenstufen als WebP (`-auto-orient -strip -quality 82`, jeweils nur verkleinert, nie hochskaliert): | Ordner | Suffix | Breite | Zielgerät | | --------- | ------ | ------- | -------------------- | | `phone` | `_s` | 640px | Handy | | `tablet` | `_m` | 1280px | Tablet | | `laptop` | `_l` | 1920px | Laptop / normaler Desktop | | `desktop` | `_xl` | 2560px | 5K-iMac-Klasse (selbe Breite wie der oberste Breakpoint im Launcher, siehe `launcher/style.css`) | `BASENAME` fehlt → Dateiname ohne Endung. `OUTPUT_ROOT` fehlt → `/var/www/data/external/pictures`. ## 3. Ablage-Schema Ein Ordner pro Motiv/Anlass unter `pictures/`, darin die vier Geräte-Unterordner: ``` /var/www/data/external/pictures//phone/_s.webp /var/www/data/external/pictures//tablet/_m.webp /var/www/data/external/pictures//laptop/_l.webp /var/www/data/external/pictures//desktop/_xl.webp ``` Beispiel (bestehend): `pictures/nog26/{phone,tablet,laptop,desktop}/…`. Öffentlich erreichbar unter `https://data.0ff.space/pictures///_.webp` (Traefik-Route `data`, siehe `hosts/blunix/localServices/traefik/routes-external.nix`, Server läuft lokal auf blunix per `hosts/blunix/localServices/fileserver-external.nix`). **Namensschema:** kein striktes globales Schema, aber durchgängig kurze, beschreibende Kleinbuchstaben-Slugs ohne Leerzeichen (`cyber`, `wolfen1`, `apolda`, …). Nummern nur, wenn mehrere Bilder zum selben Motiv gehören (`wolfen1`/`wolfen2`) — `` und `` folgen demselben Muster. Ältere Bilder direkt in `pictures/` (ohne Motiv-Unterordner, ohne Größenstufen) sind Fotos von vor dieser Pipeline und keine Vorlage für neue Uploads.