| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
This project provides a Dockerized prerender service based on prerender with an in-memory cache. It is designed to render JavaScript-heavy pages (e.g., for SEO or bots) using headless Chromium.
├── Dockerfile
├── server.js
└── docker-compose.yml
| Variable | Default | Description |
|---|---|---|
| PORT | 3000 | Port the service listens on |
| CACHE_MAXSIZE | 1000 | Maximum number of cached entries |
| CACHE_TTL | 43200 | Cache lifetime in seconds (12 hour) |
| WAIT_AFTER_LAST_REQUEST | 200 | Wait time (ms) after last network request before rendering |
docker build -t prerender-service .or check GitHub repository
ghcr.io/justcoded/dockerize-prerender:latest
with tag latest or number tag.
Example docker-compose.yml for development:
services:
webapp-prerender:
build:
context: .
dockerfile: Dockerfile
ports:
- "3000:3000"
shm_size: 1024mb
restart: unless-stopped
init: true
environment:
- PORT=3000
# For qucker cahnges
volumes:
- ./server.js:/app/server.js
or for prod/staging usage:
services:
webapp-prerender:
image: ghcr.io/justcoded/dockerize-prerender:latest
shm_size: 1024mb
restart: unless-stopped
init: true
environment:
- PORT=3000
# Maximum number of items to keep in the memory cache
- CACHE_MAXSIZE=1000
# Cache duration in seconds (43200s = 12 hours)
- CACHE_TTL=43200
# Wait time in ms after last network request before rendering
- WAIT_AFTER_LAST_REQUEST=200
Run:
docker-compose up -dThe service runs a prerender server using headless Chromium. Incoming requests are rendered as fully loaded HTML pages. Responses are cached in memory using prerender-memory-cache. Cache settings are controlled via environment variables.
Uses system-installed Chromium (/usr/bin/chromium) Required dependencies are installed in the Docker image --no-sandbox is enabled for compatibility inside containers
SEO for SPA (React, Vue, Angular) Social media previews (Open Graph rendering) Rendering pages for bots/crawlers
Increase shm_size if Chromium crashes Tune CACHE_MAXSIZE based on memory limits Use a reverse proxy (e.g., Nginx) in production
| Back | FazBrowse Home | New Git URL |