#2 Season hero photo as poster bg + switch to Alpine image

Zusammengeführt
jschoubben hat 2 Commits von feat/season-poster-bg nach master vor 1 Woche zusammengeführt
jschoubben hat vor 2 Wochen kommentiert

Season poster bg: render_season_poster() now pulls https://files-api.novox.be/dilbert/sports/formula1/cars/{year}.jpg, cover-fits into 1000×1500, and overlays a vertical dark gradient so the wordmark/year/footer stay legible over any underlying photo. Falls back to the previous all-black layout if the file isn't there.

Image:

  • python:3.12-slimpython:3.12-alpine. Debian was the lazy default; Alpine is the appropriate weight for this service.
  • fonts-dejavu-corettf-liberation. Same Liberation Sans Bold that Arch installs on the dev host (/usr/share/fonts/liberation/LiberationSans-Bold.ttf), so posters render byte-identical in dev and prod.
  • Drop fastf1 from the pip install — not imported anywhere in the served code paths. Removes pandas/matplotlib/scipy tail.
  • Add numpy explicitly (was pulled in transitively by fastf1; models/geo_json/geometry.py imports it at module load for vector ops).

Verified locally:

  • docker build succeeds.
  • Container start renders both /posters/race/Monaco Grand Prix/2025.png and /posters/season/2025.png cleanly.
  • Image size: 194 MB.
**Season poster bg:** `render_season_poster()` now pulls `https://files-api.novox.be/dilbert/sports/formula1/cars/{year}.jpg`, cover-fits into 1000×1500, and overlays a vertical dark gradient so the wordmark/year/footer stay legible over any underlying photo. Falls back to the previous all-black layout if the file isn't there. **Image:** - `python:3.12-slim` → `python:3.12-alpine`. Debian was the lazy default; Alpine is the appropriate weight for this service. - `fonts-dejavu-core` → `ttf-liberation`. Same Liberation Sans Bold that Arch installs on the dev host (`/usr/share/fonts/liberation/LiberationSans-Bold.ttf`), so posters render byte-identical in dev and prod. - Drop `fastf1` from the pip install — not imported anywhere in the served code paths. Removes pandas/matplotlib/scipy tail. - Add `numpy` explicitly (was pulled in transitively by fastf1; `models/geo_json/geometry.py` imports it at module load for vector ops). **Verified locally:** - `docker build` succeeds. - Container start renders both `/posters/race/Monaco Grand Prix/2025.png` and `/posters/season/2025.png` cleanly. - Image size: 194 MB.
jschoubben hat vor 1 Woche geschlossen
Der Pull Request wurde als 4a2e9f5d63 zusammengeführt.
Anmelden, um an der Diskussion teilzunehmen.
Kein Label
Kein Meilenstein
Niemand zuständig
1 Beteiligte
Fällig am

Kein Fälligkeitsdatum gesetzt.

Abhängigkeiten

Dieser Pull-Request hat momentan keine Abhängigkeiten.

Laden…
Abbrechen
Speichern
Hier gibt es bis jetzt noch keinen Inhalt.