A browser-based UI for exercising a Gotenberg instance interactively — pick an endpoint, fill in parameters, send the request, preview the response, and validate the result against PDF/UA and WCAG accessibility rules.
| Path | Purpose |
|---|---|
| gotenberg-interface/ | The React + Vite SPA, Dockerfile, and nginx config. See its README. |
| docs/ | Architecture and conformance docs. Start with overview.md. |
From this directory:
cd gotenberg-interface
docker compose up --buildThen open http://localhost:8081. This brings up the UI, a Gotenberg instance (port 3000), and a veraPDF instance (port 8080) on one network.
To point the UI at external services, create a .env next to gotenberg-interface/docker-compose.yml:
GOTENBERG_URL=http://my-gotenberg.internal:3000
VERAPDF_URL=http://my-verapdf.internal:8080
cd gotenberg-interface
pnpm install
pnpm devDev mode proxies /gotenberg/* and /verapdf/* to the URLs in .env (defaults: http://localhost:3000 and http://localhost:8080).
- Browse every Gotenberg endpoint (Chromium, LibreOffice, PDF Engines, Webhooks, Health) with auto-generated forms.
- Send mixed file + form-data requests and preview the response inline (PDF viewer, image, or pretty-printed JSON/text).
- Validate generated PDFs against PDF/A and PDF/UA-1 via veraPDF.
- Run axe-core over HTML inputs before conversion to flag WCAG 2.1 A/AA issues.
- React 19 + TypeScript + Vite 8 (rolldown), Tailwind CSS v4, react-compiler
- nginx + envsubst for production-time config
- docs/overview.md — architecture and intent
- docs/axe-vs-pdfua.md — which axe rules are disabled for HTML→PDF and why
- docs/known-issues.md — current rough edges