Upgrade
Back up configuration, review release notes, pin the new release tag, rebuild with fresh base images, verify readiness, and test representative URLs before cutover.
Open-source engine
Prerender Buddy Engine is an Apache-2.0 Docker service for teams that want crawler rendering inside infrastructure they operate.
Quick start
Version 0.1 runs one Chromium process with bounded concurrency, in-memory caching, duplicate-render coordination, URL controls, and no external telemetry.
git clone https://github.com/kopachlager/prerenderbuddy-engine.git
cd prerenderbuddy-engine
cp .env.example .env
# Set a 32+ character token and exact allowed domains in .env
docker compose up --build -d
curl http://127.0.0.1:3000/readyConfiguration
PRERENDER_TOKENRequired server-side secret with at least 32 characters.
ALLOWED_DOMAINSRequired exact hostnames by default; list apex and www separately.
RENDER_MAX_CONCURRENCYBound parallel browser work to the capacity you have measured.
RENDER_TIMEOUT_MSBound page execution instead of allowing long-lived renders.
CACHE_*Size the process-local cache by entries, bytes, and TTL.
ALLOWED_ORIGINSLeave empty unless browser CORS access is deliberately required.
Production readiness
Support boundary
The open engine is community-supported software. The managed product includes operated services that are not part of the repository.
| Capability or responsibility | Open engine | Managed service |
|---|---|---|
| Rendering engine and Docker image | ||
| Crawler routing and production integration | ||
| TLS, network isolation, firewall, and secrets | ||
| Monitoring, alerting, scaling, and incidents | ||
| Managed DNS, dashboard, billing, and support |
For the open engine, your team owns deployment, crawler routing, uptime, scaling, monitoring, backups, upgrades, security response, and incident handling. No service-level guarantee is included.
Back up configuration, review release notes, pin the new release tag, rebuild with fresh base images, verify readiness, and test representative URLs before cutover.
Use container logs for startup failures, /ready for Chromium state, HTTP status codes for token, domain, and capacity errors, and metrics for memory and concurrency pressure.
Keep the token server-side, isolate outbound networking, deny metadata and private ranges, rate-limit the proxy, and separate unrelated tenants with different containers and tokens.
Choose the ownership model