Coder Social home page Coder Social logo

vsalomaki / prerender-alpine Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tvanro/prerender-alpine

0.0 0.0 0.0 46 KB

Lightweight Prerender container built on Alpine Linux with Node and Headless Chrome

JavaScript 60.18% Dockerfile 39.82%

prerender-alpine's Introduction

Prerender Alpine

Lightweight Prerender container built on Alpine Linux with Node and Headless Chromium.

  • Prerender 5.20.0
  • Chromium 99.0.4844.84
  • Node 16.15.0

This package includes https://github.com/kenylieou/prerender-request-blacklist

Requirements

  • Docker

Usage

Pull and run the image:

docker pull tvanro/prerender-alpine:6.5.0
docker run -p 3000:3000 tvanro/prerender-alpine:6.5.0

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):

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:6.5.0 

Prerender memory cache

The 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:6.5.0 

Options

Possibility to add domain redirects from environment variable like this:

MAP_DOMAIN_TO_LOCALHOST=example.com,host.docker.internal

This will cause chromium to resolve *.example.com to host.docker.internal. Wildcard is added automatically.

List of blacklist data separated by ,

export BLACKLISTED_EXTS=css,jpg
export BLACKLISTED_DOMAIN=google.com
export BLACKLISTED_MATCH=regex_pattern

For example:

export BLACKLISTED_EXTS=ico,jpg,jpeg,png,ttf,eot,otf,woff,woff2,gif,svg,pdf,css,svg
export BLACKLISTED_DOMAIN=www.googletagmanager.com,googletagmanager.com,www.google-analytics.com,google-analytics.com,connect.facebook.net,lc.iadvize.com,fonts.gstatic.com,gstatic.com,i.ytimg.com,www.youtube.com,vimeo.com,www.vimeo.com,baidu.com,f.vimeocdn.com,fresnel.vimeocdn.com,player.vimeo.com,i.vimeocdn.com,youtube.com,player.youtube.com,stats.g.doubleclick.net,static.iadvize.com,api.iadvize.com
export BLACKLISTED_MATCH=^[^ignore]+$
export MAP_DOMAIN_TO_LOCALHOST=example.com,localhost

Prerender documentation

Check out the official Prerender documentation: https://github.com/prerender/prerender

prerender-alpine's People

Contributors

tvanro avatar vsalomaki avatar utkuozdemir avatar cngarkar avatar palmik avatar zicklag avatar mguyaux avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.