← Összes eszköz

Saját Prerender szerver Dockerben: prerender-alpine

A keresőmotorok és a linkelőnézetek gyakran üres oldalt látnak, ha egy oldal JavaScripttel renderelődik. A Prerender ezt úgy oldja meg, hogy headless Chromiumban rendereli az oldalt, és a botoknak a kész HTML-t adja. Ezzel a konténerrel saját magad futtathatod, csak környezeti változókkal konfigurálva.

Ez a tvanro/prerender-alpine forkja. Jelenleg Prerender 5.21.6, Chromium 142, Node 22 és Alpine 3.22 van benne.

Mit ad hozzá a fork?

Gyors kezdés

Ehhez a forkhoz nincs publikált image, ezért forrásból kell buildelni:

git clone https://github.com/Silureth/prerender-alpine.git
cd prerender-alpine
cp .env.example .env        # állítsd be az ALLOWED_DOMAINS-t stb.
docker compose up -d --build

A Prerender ezután a 127.0.0.1:3000 címen figyel, így csak az ugyanazon a gépen futó reverse proxy éri el:

curl http://127.0.0.1:3000/health
curl 'http://127.0.0.1:3000/render?url=https://www.example.com/'

Portainerben adj hozzá egy stacket a repóból (https://github.com/Silureth/prerender-alpine, compose útvonal: docker-compose.yml), és állítsd be a szükséges környezeti változókat.

Leggyakoribb beállítások

VáltozóMit csinál?
ALLOWED_DOMAINSVesszővel elválasztott hostnevek. Minden más domain 404-et kap.
BASIC_AUTH_USERNAME / _PASSWORDHa mindkettő meg van adva, bekapcsolja a basic auth-ot.
BROWSER_FORCE_RESTART_PERIODEnnyi ms után újraindítja a Chromiumot, terhelés alatt is. Hosszan futó példányokhoz a 3600000 jó érték.
BLOCK_RESOURCESKihagyja a képeket, betűtípusokat és analitikát a gyorsabb renderelésért.
PAGE_LOAD_TIMEOUTMaximális renderelési idő ms-ban (alapértelmezés: 20000).

A README minden változót felsorol (angolul).

Gyorsítótárazás

Az ajánlott gyorsítótár az nginx proxy_cache a konténer előtt. Lemezre menti az oldalakat, túléli az újraindítást, és egy oldalt csak egyszer renderel, ha egyszerre több bot kéri. A README-ben van egy teljes nginx konfiguráció, egy titkos fejléccel egyes oldalak frissítéséhez.