Commit Graph
13 Commits
Author SHA1 Message Date
Andre 790c744217 build: install ffmpeg and gosu as binaries instead of apt packages
Setting the service up on a new host took 20 to 30 minutes, spent almost
entirely in the Debian ffmpeg dependency chain: several hundred packages
of X11 and desktop libraries that dpkg unpacks and configures file by
file onto an SD card. That cost is paid again on every fresh machine and
turned moving the service into a half-hour commitment rather than a
routine step.

Prebuilt binaries remove the package manager from the build entirely. A
cold build with nothing cached now finishes in about four minutes on Pi
hardware, verified end to end including audio transcoding.

Pinning the dependency versions is unrelated to build speed. It prevents
a rebuild months from now from silently resolving versions other than
those the running container was tested with.
2026-08-14 16:20:49 +02:00
Andre 2ab62ba122 chore: stop tracking runtime data directory
data/ was added to .gitignore only after its contents had already been
committed, and an ignore rule never untracks existing files. The live
SQLite database therefore showed up as modified on every commit, made
accidental commits of user history likely, and bloated the repo with
binary churn.

Claude-Session: https://claude.ai/code/session_01QkiLqAtFamcbFXDnCtZSPm
2026-07-18 15:09:56 +02:00
Andre 9451c6e6d3 fix: self-update yt-dlp on container start
Instagram and TikTok extraction silently breaks whenever yt-dlp falls
behind upstream API changes, and fixing it required a manual image
rebuild each time. Updating at container start ties the fix to the Pi's
weekly reboot instead, so the extractor stays current without operator
intervention. A failed update never blocks startup, because the network
may not be up yet right after boot.

.gitattributes pins LF for shell scripts: a CRLF checkout on Windows
would make the entrypoint unrunnable inside the Linux container.

Claude-Session: https://claude.ai/code/session_01QkiLqAtFamcbFXDnCtZSPm
2026-07-18 15:06:36 +02:00
Andre 66c3fc8f7a fix: TikTok-Extraktion im Docker-Container (Pi-hole DNS + Windows-FFMPEG_LOCATION) 2026-04-16 18:34:58 +02:00
Andre 895e2e588f fix: Stack-Umgebungsvariablen via environment: an Container weitergeben
feat: entrypoint.sh mit gosu für automatisches chown und Privilege-Drop
2026-04-15 19:06:50 +02:00
Andre 08be478587 fix: speicherort history.db und images Ordner
- Bilder: data/images
  - SQLite: data/history.db
2026-04-15 17:11:45 +02:00
Andre 339b0d176e fix: docker-compose.yml – volumes über Env-Variablen konfigurierbar 2026-04-15 16:21:52 +02:00
Andre 48f71724e5 fix: docker-compose.yml
- env_file optional, damit der build sowohl manuell als auch über portainer ausgeführt werden kann.
2026-04-15 16:03:06 +02:00
Andre a5b93da795 fix: mounte tmp und data in docker-compose auf Host-Volumes 2026-04-15 15:33:58 +02:00
Andre d08dc94010 fix: Aufgeklappte Verlauf-Karte mit großem Hero-Bild; Buttons nicht mehr am Rand 2026-04-14 17:43:20 +02:00
Andre c7582dafbb fix: Rezeptverlauf-Bilder lokal speichern und Windows-Subprocess-Fix
- Bilder beim Extrahieren lokal cachen (data/images/{id}.ext) und über GET /api/history/{id}/image ausliefern; Löschen bei Verlaufseintrag-Entfernung
- history.db in ./data/ Volume verschoben, damit sie Container-Rebuilds überlebt
- yt-dlp Subprocess-Aufrufe auf Windows gefixt: run_in_executor statt asyncio.create_subprocess_exec (SelectorEventLoop-Kompatibilität)
- ./data:/app/data Docker-Volume für persistente Datenhaltung hinzugefügt
2026-04-14 17:17:03 +02:00
Andre 4de67f0192 docs: README.md mit Projektbeschreibung hinzugefügt 2026-04-14 16:13:56 +02:00
Andre e832c4e7ce Prototyp 2026-03-29 20:52:20 +02:00