https://github.com/tvanro/prerender-alpine
Lightweight Prerender container built on Alpine Linux with Node and Headless Chromium
https://github.com/tvanro/prerender-alpine
docker headless-chrome node prerender
Last synced: 10 months ago
JSON representation
Lightweight Prerender container built on Alpine Linux with Node and Headless Chromium
- Host: GitHub
- URL: https://github.com/tvanro/prerender-alpine
- Owner: tvanro
- Created: 2018-01-04T10:32:56.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2025-02-09T09:25:44.000Z (12 months ago)
- Last Synced: 2025-02-09T10:26:03.334Z (12 months ago)
- Topics: docker, headless-chrome, node, prerender
- Language: JavaScript
- Homepage:
- Size: 26.4 KB
- Stars: 93
- Watchers: 5
- Forks: 53
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Prerender Alpine
Lightweight Prerender container built on Alpine Linux with Node and Headless Chromium.
- Prerender 5.21.6
- Chromium 132.0.6834.83
- Node 22.13.1
## Requirements
- Docker
## Usage
Pull and run the image:
```
docker pull tvanro/prerender-alpine:7.0.1
docker run -p 3000:3000 tvanro/prerender-alpine:7.0.1
```
Prerender will now be running on http://localhost:3000. Try the container out with curl:
```
curl http://localhost:3000/render?url=https://www.example.com/
```
## Prerender plugins
A few default plugins have been activated by default (see `server.js`):
- https://github.com/prerender/prerender/blob/master/lib/plugins/blacklist.js
- https://github.com/prerender/prerender/blob/master/lib/plugins/httpHeaders.js
- https://github.com/prerender/prerender/blob/master/lib/plugins/removeScriptTags.js
This can be modified by creating your own `server.js` and mounting this file as a docker volume:
```
docker run -p 3000:3000 -v $(pwd)/server.js:/home/node/server.js tvanro/prerender-alpine:7.0.1
```
## Prerender memory cache
The [prerender-memory-cache](https://github.com/prerender/prerender-memory-cache) plugin is not activated by default.
You can activate it with the environment variable `MEMORY_CACHE=1`.
You can customize cache behavior with environment variables :
- CACHE_MAXSIZE=1000 : max number of objects in cache
- CACHE_TTL=6000 : time to live in seconds
```
docker run -p 3000:3000 -e MEMORY_CACHE=1 -e CACHE_MAXSIZE=1000 -e CACHE_TTL=6000 tvanro/prerender-alpine:7.0.1
```
## Prerender documentation
Check out the official Prerender documentation: https://github.com/prerender/prerender