https://github.com/maximemaillet/docker-prerender
Container for prerender
https://github.com/maximemaillet/docker-prerender
Last synced: about 1 month ago
JSON representation
Container for prerender
- Host: GitHub
- URL: https://github.com/maximemaillet/docker-prerender
- Owner: MaximeMaillet
- Created: 2019-10-23T14:22:09.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-03-03T08:25:10.000Z (over 3 years ago)
- Last Synced: 2025-03-02T05:27:47.149Z (over 1 year ago)
- Language: JavaScript
- Homepage: https://hub.docker.com/r/deuxmax/docker-prerender
- Size: 36.1 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Docker prerender
[Prerender](https://prerender.io/) in Docker
## Usage
For use docker-prerender you should configure your HTTP server for redirect request from bot.
### Docker or docker-compose
```
docker run -d -p 8080:8080 deuxmax/docker-prerender:latest
```
```
# docker-compose.yml
version: '2'
services:
app:
image: ${APP_IMAGE}
restart: always
links:
- prerender
prerender:
image: deuxmax/docker-prerender:latest
restart: always
```
### Nginx
Replace `${URL_PUPPETEER}` by your docker url
```
location / {
try_files $uri @prerender;
}
location @prerender {
set $prerender 0;
if ($http_user_agent ~* "googlebot|bingbot|yandex|baiduspider|twitterbot|facebookexternalhit|rogerbot|linkedinbot|embedly|quora link preview|showyoubot|outbrain|pinterest\/0\.|pinterestbot|slackbot|vkShare|W3C_Validator|whatsapp") {
set $prerender 1;
}
if ($args ~ "_escaped_fragment_") {
set $prerender 1;
}
if ($http_user_agent ~ "Prerender") {
set $prerender 0;
}
if ($uri ~* "\.(js|css|xml|less|png|jpg|jpeg|gif|pdf|doc|txt|ico|rss|zip|mp3|rar|exe|wmv|doc|avi|ppt|mpg|mpeg|tif|wav|mov|psd|ai|xls|mp4|m4a|swf|dat|dmg|iso|flv|m4v|torrent|ttf|woff|svg|eot)") {
set $prerender 0;
}
resolver 127.0.0.11;
if ($prerender = 1) {
proxy_pass http://${URL_PUPPETEER}:8080/render?url=$scheme://$host$request_uri;
}
if ($prerender = 0) {
rewrite .* /index.html break;
}
}
```
*From : [https://gist.github.com/thoop/8165802](https://gist.github.com/thoop/8165802)*
## Install from source
Clone source :
```bash
git clone git@gitlab.eoko-lab.fr:eoko/docker-prerender.git
```
Install packages :
```bash
nvm install
npm install
```