Skip to content

Repository for Event Preview Image Generator. The project is designed to create screenshots of a web page on a browser event.

License

Notifications You must be signed in to change notification settings

konturio/event-preview-image-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

136 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Event Preview Image Generator

The project is designed to create screenshots of a web page on a browser event. Can be used to create preview for later use when posting on social media using the opengraph protocol.

The project uses two containers: chromium-headless and preview-generator. You can optionally use redis or memcached for image caching. When running them directly with Docker you may want to mount two directories for persistent data:

  • /app/cache - Chromium profile and cache
  • /app/share - output screenshots and PDFs

Kubernetes

Deployment is managed by disaster-ninja-cd

Create configmap

kubectl apply -f- <<EOF
apiVersion: v1
kind: ConfigMap
metadata:
  name: epig-config
data:
  CHROMIUM_HOST: "chromium-headless"
  CHROMIUM_PORT: "9222"
  CHROMIUM_CACHE_SIZE: "104857600"
  CHROMIUM_WIDTH: "1200"
  CHROMIUM_HEIGHT: "630"
  USE_HEADERS: "TRUE"
  SITE_URL: "https://example.com"
  EVENT_NAME: "load"
  WIDTH: "1200"
  HEIGHT: "630"
  QS: ""
  TIMEOUT: "10000"
  CACHE_URL: "redis://redis:6379"
  CACHE_TTL: "120"
  DEBUG: "FALSE"
  PORT: "8000"
EOF

Generate redis password

kubectl create secret generic redis-secret --from-literal=password=$(head -c 512 /dev/urandom | LC_CTYPE=C tr -cd 'a-zA-Z0-9' | head -c 64)

Apply config

kubectl apply -f ./k8s

Disaster ninja

Configmap for Disaster ninja

kubectl apply -f- <<EOF
apiVersion: v1
kind: ConfigMap
metadata:
  name: epig-config
data:
  CHROMIUM_HOST: "chromium-headless"
  CHROMIUM_PORT: "9222"
  CHROMIUM_CACHE_SIZE: "104857600"
  CHROMIUM_WIDTH: "1200"
  CHROMIUM_HEIGHT: "630"
  USE_HEADERS: "FALSE"
  SITE_URL: "https://test-apps-ninja02.konturlabs.com/active/"
  EVENT_NAME: "event_ready_for_screenshot"
  WIDTH: "1200"
  HEIGHT: "630"
  ALLOW_EMPTY_QS: "FALSE"
  QS: "app=f29339bd-8049-41ae-9d6b-f726d8451894"
  TIMEOUT: "60000"
  CACHE_URL: "redis://redis:6379"
  CACHE_TTL: "120"
  DEBUG: "FALSE"
  PORT: "8000"
EOF

About

Repository for Event Preview Image Generator. The project is designed to create screenshots of a web page on a browser event.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 8