Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

registry.brandbox.host/brandbox-product/runtime/puppeteer:latest

Enthaltene Software

Software

Version

Debian

10

Node.js

14.21.3

Konfiguration für docker-compose

Das Image kann in einer docker-compose.yml wie folgt eingebunden werden:

Codeblock
languageyml
puppeteer:
    image: registry.brandbox.host/runtime/puppeteer:1.0.0
    hostname: $COMPOSE_PROJECT_NAME
    domainname: local.brandbox.de
    volumes:
      - /mnt/nfsstorage/${COMPOSE_PROJECT_NAME}/temp:/var/www/temp/
      - /mnt/nfsstorage/${COMPOSE_PROJECT_NAME}/share:/var/www/share/
    env_file:
      - brandbox.docker.env
    working_dir: /var/www
    networks:
      - internal
      - proxy
    labels:
      traefik.enable: "true"
      traefik.backend.loadbalancer.method: "drr"
      traefik.docker.network: traefik_webgateway
      traefik.frontend.rule: "Host:puppeteer.$COMPOSE_PROJECT_NAME.local.brandbox.de"
      traefik.port: 8080
    ports:
      - "9000"
    expose:
      - "8080"

Die Umgebungsvariablen PUPPETEER_HOST und PUPPETEER_PROTOCOL müssen wie folgt befüllt werden (brandbox.docker.env):

Umgebungsvariable

Wert

PUPPETEER_HOST

puppeteer.$COMPOSE_PROJECT_NAME.local.brandbox.de  (wie in docker-compose.yml definiert)

PUPPETEER_PROTOCOL 

https


Cluster-Konfiguration (Kubernetes)

  • Es muss ein Deployment mit dem Image registry.brandbox.host/runtime/puppeteer:1.0.0 eingerichtet werden

  • Es muss ein Service mit dem Namen service-puppeteer eingerichtet werden, der auf dieses Deployment verweist

Die Umgebungsvariablen PUPPETEER_HOST und PUPPETEER_PROTOCOL müssen wie folgt befüllt werden

Umgebungsvariable

Wert

PUPPETEER_HOST

service-puppeteer:8080

PUPPETEER_PROTOCOL 

http


Diese Standardwerte existieren bereits im Rancher-Manager und werden beim Redeploy über die Gitlab-Pipeline automatisch gesetzt.

Verwendung

Das Image stellt eine einfache Rest-Schnittstelle bereit, mit der HTML-Dokumente an Puppeteer übergeben werden können:

https://service-url/puppeteer?source=SOURCE&target=TARGET

Parameter (GET)

Bezeichnung

Beschreibung

source

Das zu rendernde HTML-Dokument,

target

Ein Datei-Pfad für die Ablage des erstellten mehrseitigen Dokuments

timeout

Die Anzahl an Millisekunden, die der Renderprozess auf eine Reaktion wartet. Standardmäßig wird hier 60000 für 60 Sekunden gesetzt

abort

Dieses Argument muss entweder weggelassen oder gesetzt werden. Falls gesetzt, wird der Render-Prozess bei einem Fehler sofort abgebrochen, falls es nicht gesetzt wurde, werden Fehlermeldungen zwar protokolliert aber übergangen.

Rückgabewerte (JSON)

Bezeichnung

Beschreibung

result

true für erfolgreiche Konvertierung, false im Fehlerfall

log

Die Konsolen-Ausgabe von Puppeteer


Beispiel
Beispiel
Codeblock
title
{
	"result": true,
	"log": [
		"file:///var/www/normal.html",
		"file:///var/www/normal.html 200",
		"https://example.brandbox.de/temp/public/framework/fractal/rendered/print-styleguide.css",
		"https://example.brandbox.de/?request=Fractal/Fractal.image&filename=share/public/client-1/domain-1/Testbilder/16126a.tif",
		"https://example.brandbox.de/?request=Fractal/Fractal.image&filename=share/public/client-1/domain-1/Testbilder/brandbox_logo.eps",
		"https://example.brandbox.de/?request=Fractal/Fractal.image&filename=share/public/client-1/domain-1/Testbilder/example.pdf",
		"https://example.brandbox.de/?request=Fractal/Fractal.image&filename=share/public/client-1/domain-1/Testbilder/konmedia_logo.eps",
		"https://example.brandbox.de/temp/public/framework/fractal/js/print-document.js",
		"https://example.brandbox.de/temp/public/framework/fractal/rendered/print-styleguide.css 200",
		"https://example.brandbox.de/temp/public/framework/fractal/js/print-document.js 200",
		"https://example.brandbox.de/temp/public/framework/fractal/fonts/roboto-normal-400.woff2",
		"https://example.brandbox.de/temp/public/framework/fractal/fonts/roboto-normal-700.woff2",
		"https://example.brandbox.de/temp/public/framework/fractal/js/print-element.js",
		"https://example.brandbox.de/temp/public/framework/fractal/fonts/roboto-normal-400.woff2 200",
		"https://example.brandbox.de/temp/public/framework/fractal/fonts/roboto-normal-700.woff2 200",
		"https://example.brandbox.de/temp/public/framework/fractal/js/print-element.js 200",
		"https://example.brandbox.de/temp/public/framework/fractal/js/print-table.js",
		"https://example.brandbox.de/temp/public/framework/fractal/js/print-table.js 200",
		"https://example.brandbox.de/temp/public/framework/fractal/js/print-paragraph.js",
		"https://example.brandbox.de/temp/public/framework/fractal/js/print-paragraph.js 200",
		"https://example.brandbox.de/temp/public/framework/fractal/js/print-page.js",
		"https://example.brandbox.de/temp/public/framework/fractal/js/print-page.js 200",
		"Created 1 pages",
		"https://example.brandbox.de/?request=Fractal/Fractal.image&filename=share/public/client-1/domain-1/Testbilder/konmedia_logo.eps 200",
		"Created 2 pages",
		"https://example.brandbox.de?request=Fractal/Fractal.image&filename=share/public/client-1/domain-1/Testbilder/brandbox_logo.eps 200",
		"https://example.brandbox.de/?request=Fractal/Fractal.image&filename=share/public/client-1/domain-1/Testbilder/16126a.tif 200",
		"https://example.brandbox.de/?request=Fractal/Fractal.image&filename=share/public/client-1/domain-1/Testbilder/example.pdf 200",
		"Created 3 pages",
		"Created 4 pages",
		"Created 5 pages",
		"Created 6 pages",
		"Created 7 pages",
		"Created 8 pages",
		"Created 9 pages",
		"Created 10 pages",
		"Created 11 pages",
		"Document processing took 3.323 seconds",
		"Finished in 3.558 seconds (11 pages)"
	]
}

...