From 7c1512557cf5d9bc6d4a5fadd078599808b0195b Mon Sep 17 00:00:00 2001 From: Martin Mariano Date: Fri, 4 Mar 2022 22:19:48 -0300 Subject: [PATCH] Added: Prerender (#631) Signed-off-by: Martin --- public/v4/apps/prerender.yml | 56 ++++++++++++++++++++++++++++++++++ public/v4/logos/prerender.png | Bin 0 -> 6843 bytes 2 files changed, 56 insertions(+) create mode 100644 public/v4/apps/prerender.yml create mode 100644 public/v4/logos/prerender.png diff --git a/public/v4/apps/prerender.yml b/public/v4/apps/prerender.yml new file mode 100644 index 0000000..e87d644 --- /dev/null +++ b/public/v4/apps/prerender.yml @@ -0,0 +1,56 @@ +captainVersion: 4 +services: + $$cap_appname: + image: tvanro/prerender-alpine:6.4.0 + restart: always + environment: + MEMORY_CACHE: $$cap_memory_cache + CACHE_MAXSIZE: $$cap_cache_max_size + CACHE_TTL: $$cap_cache_ttl + BLACKLISTED_DOMAINS: $$cap_blacklisted_domains + caproverExtra: + containerHttpPort: '3000' +caproverOneClickApp: + variables: + - id: $$cap_memory_cache + label: Enable memory cache? + defaultValue: 1 + validRegex: /^[01]$/ + description: Serve cache responses in memory. + + - id: $$cap_cache_max_size + label: Cache Max Size + defaultValue: 10000 + validRegex: /^[0-9]*$/ + description: Max number of objects(pages) in cache. + + - id: $$cap_cache_ttl + label: Cache time to live in (seconds) + defaultValue: 7200 + validRegex: /^[0-9]*$/ + description: Maximum time to live in seconds of objects(pages). + + - id: $$cap_blacklisted_domains + label: 'Optional: Blacklisted domains, separated by ",". Leave empty if none.' + description: 'Blacklisted domains which will not be pre rendered. E.g: yahoo.com,www.google.com' + + instructions: + start: >- + Prerender is a node server that uses Headless Chrome to render HTML, + screenshots, PDFs, and HAR files out of any web page. The Prerender + server listens for an http request, takes the URL and loads it in + Headless Chrome, waits for the page to finish loading by waiting for + the network to be idle, and then returns your content. + + You can choose wheter to expose it as a web app, or not. + + end: >- + Your service is available at http://$$cap_appname.$$cap_root_domain + + Check its health with: + + curl -X GET 'http://$$cap_appname.$$cap_root_domain/render?url=https://www.example.com + displayName: 'Prerender' + isOfficial: true + description: Prerender uses Headless Chrome to render HTML, screenshots, PDFs, and HAR files out of any web page, in order to serve them to crawlers. + documentation: https://hub.docker.com/r/tvanro/prerender-alpine diff --git a/public/v4/logos/prerender.png b/public/v4/logos/prerender.png new file mode 100644 index 0000000000000000000000000000000000000000..ce290cf330d26cfa14618cefc43bb068d225edb1 GIT binary patch literal 6843 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