diff --git a/Dockerfile b/Dockerfile index f85fa6b..8b33cc1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,6 +9,7 @@ COPY . . FROM node:22-slim WORKDIR /app COPY --from=build /app . +RUN npx --yes playwright install --with-deps chromium ENV NODE_ENV=production # De SQLite-database hoort op het persistente volume te staan; zonder deze # default zou een vergeten DB_PATH stilletjes naar de container-fs schrijven diff --git a/README.md b/README.md index 42e909b..09158d5 100644 --- a/README.md +++ b/README.md @@ -39,3 +39,10 @@ check. Een mislukte poging (pagina onbereikbaar, geen prijs gevonden, of de mail kon niet verstuurd worden) verandert de opgeslagen prijs niet, zodat de volgende dag opnieuw wordt geprobeerd. Via de "Nu controleren"-knop in de UI kan dit ook handmatig getriggerd worden. + +Als het ophalen van de prijs op de gewone manier mislukt (netwerkfout, of +geen prijs gevonden in de HTML), probeert de app het één keer opnieuw met +een echte headless-browser (Playwright/Chromium) — nuttig voor pagina's +die de prijs pas met JavaScript renderen, of die eenvoudige HTTP-clients +blokkeren. Geen garantie tegen elke vorm van bot-detectie, maar dekt een +reëel deel van de gevallen die de gewone aanpak mist.