summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRonald Loyko <[email protected]>2022-10-11 01:17:41 +0300
committerGitHub <[email protected]>2022-10-10 15:17:41 -0700
commit1b9b9db16fb026a01a8bf69e39ec77bded78a553 (patch)
treed4973f62b756739724ceba3545bb8a4966a31ef5
parentb0eea0ef1605c1f80ab936cd9ff4a30e5c51b732 (diff)
downloadcaprover-one-click-apps-1b9b9db16fb026a01a8bf69e39ec77bded78a553.tar.gz
caprover-one-click-apps-1b9b9db16fb026a01a8bf69e39ec77bded78a553.zip
feat: add gotenberg (#756)
* feat: add gotenberg * feat(gotenberg): add image * feat(gotenberg): add instructions
-rw-r--r--public/v4/apps/gotenberg.yml310
-rw-r--r--public/v4/logos/gotenberg.pngbin0 -> 234321 bytes
2 files changed, 310 insertions, 0 deletions
diff --git a/public/v4/apps/gotenberg.yml b/public/v4/apps/gotenberg.yml
new file mode 100644
index 0000000..787ed99
--- /dev/null
+++ b/public/v4/apps/gotenberg.yml
@@ -0,0 +1,310 @@
+captainVersion: 4
+services:
+ $$cap_appname:
+ caproverExtra:
+ containerHttpPort: $$cap_GOTENBERG_API_PORT
+ dockerfileLines:
+ - ARG VERSION
+ - FROM gotenberg/gotenberg:$VERSION
+ - ARG API_PORT
+ - ARG API_TIMEOUT
+ - ARG API_ROOT_PATH
+ - ARG API_TRACE_HEADER
+ - ARG API_DISABLE_HEALTH_CHECK
+ - ARG CHROMIUM_ALLOW_FILE_ACCESS_FROM_FILES
+ - ARG CHROMIUM_ALLOW_INSECURE_LOCALHOST
+ - ARG CHROMIUM_ALLOW_LIST
+ - ARG CHROMIUM_DENY_LIST
+ - ARG CHROMIUM_IGNORE_CERTIFICATE_ERRORS
+ - ARG CHROMIUM_DISABLE_WEB_SECURITY
+ - ARG CHROMIUM_INCOGNITO
+ - ARG CHROMIUM_HOST_RESOLVER_RULES
+ - ARG CHROMIUM_PROXY_SERVER
+ - ARG CHROMIUM_DISABLE_JAVASCRIPT
+ - ARG CHROMIUM_DISABLE_ROUTES
+ - ARG LIBREOFFICE_DISABLE_ROUTES
+ - ARG LIBREOFFICE_LISTENER_START_TIMEOUT
+ - ARG LIBREOFFICE_LISTENER_RESTART_THRESHOLD
+ - ARG PDFENGINES_ENGINES
+ - ARG PDFENGINES_DISABLE_ROUTES
+ - ARG WEBHOOK_ALLOW_LIST
+ - ARG WEBHOOK_DENY_LIST
+ - ARG WEBHOOK_ERROR_ALLOW_LIST
+ - ARG WEBHOOK_ERROR_DENY_LIST
+ - ARG WEBHOOK_MAX_RETRY
+ - ARG WEBHOOK_RETRY_MIN_WAIT
+ - ARG WEBHOOK_RETRY_MAX_WAIT
+ - ARG WEBHOOK_CLIENT_TIMEOUT
+ - ARG WEBHOOK_DISABLE
+ - ARG PROMETHEUS_COLLECT_INTERVAL
+ - ARG PROMETHEUS_NAMESPACE
+ - ARG PROMETHEUS_DISABLE_COLLECT
+ - ARG PROMETHEUS_DISABLE_ROUTE_LOGGING
+ - ARG LOG_FORMAT
+ - ARG LOG_LEVEL
+ - ARG GRACEFUL_SHUTDOWN_DURATION
+ - >-
+ CMD gotenberg
+ --api-port=$API_PORT
+ --api-timeout=$API_TIMEOUT
+ --api-root-path=$API_ROOT_PATH
+ --api-trace-header=$API_TRACE_HEADER
+ --api-disable-health-check-logging=$API_DISABLE_HEALTH_CHECK
+ --chromium-allow-file-access-from-files=$CHROMIUM_ALLOW_FILE_ACCESS_FROM_FILES
+ --chromium-allow-insecure-localhost=$CHROMIUM_ALLOW_INSECURE_LOCALHOST
+ --chromium-allow-list=$CHROMIUM_ALLOW_LIST
+ --chromium-deny-list=$CHROMIUM_DENY_LIST
+ --chromium-ignore-certificate-errors=$CHROMIUM_IGNORE_CERTIFICATE_ERRORS
+ --chromium-disable-web-security=$CHROMIUM_DISABLE_WEB_SECURITY
+ --chromium-incognito=$CHROMIUM_INCOGNITO
+ --chromium-host-resolver-rules=$CHROMIUM_HOST_RESOLVER_RULES
+ --chromium-proxy-server=$CHROMIUM_PROXY_SERVER
+ --chromium-disable-javascript=$CHROMIUM_DISABLE_JAVASCRIPT
+ --chromium-disable-routes=$CHROMIUM_DISABLE_ROUTES
+ --libreoffice-disable-routes=$LIBREOFFICE_DISABLE_ROUTES
+ --uno-listener-start-timeout=$LIBREOFFICE_LISTENER_START_TIMEOUT
+ --uno-listener-restart-threshold=$LIBREOFFICE_LISTENER_RESTART_THRESHOLD
+ --pdfengines-engines=$PDFENGINES_ENGINES
+ --pdfengines-disable-routes=$PDFENGINES_DISABLE_ROUTES
+ --webhook-allow-list=$WEBHOOK_ALLOW_LIST
+ --webhook-deny-list=$WEBHOOK_DENY_LIST
+ --webhook-error-allow-list=$WEBHOOK_ERROR_ALLOW_LIST
+ --webhook-error-deny-list=$WEBHOOK_ERROR_DENY_LIST
+ --webhook-max-retry=$WEBHOOK_MAX_RETRY
+ --webhook-retry-min-wait=$WEBHOOK_RETRY_MIN_WAIT
+ --webhook-retry-max-wait=$WEBHOOK_RETRY_MAX_WAIT
+ --webhook-client-timeout=$WEBHOOK_CLIENT_TIMEOUT
+ --webhook-disable=$WEBHOOK_DISABLE
+ --prometheus-collect-interval=$PROMETHEUS_COLLECT_INTERVAL
+ --prometheus-namespace=$PROMETHEUS_NAMESPACE
+ --prometheus-disable-collect=$PROMETHEUS_DISABLE_COLLECT
+ --prometheus-disable-route-logging=$PROMETHEUS_DISABLE_ROUTE_LOGGING
+ --log-format=$LOG_FORMAT
+ --log-level=$LOG_LEVEL
+ --gotenberg-graceful-shutdown-duration=$GRACEFUL_SHUTDOWN_DURATION
+ environment:
+ VERSION: $$cap_GOTENBERG_VERSION
+ API_PORT: $$cap_GOTENBERG_API_PORT
+ API_TIMEOUT: $$cap_GOTENBERG_API_TIMEOUT
+ API_ROOT_PATH: $$cap_GOTENBERG_API_ROOT_PATH
+ API_TRACE_HEADER: $$cap_GOTENBERG_API_TRACE_HEADER
+ API_DISABLE_HEALTH_CHECK: $$cap_GOTENBERG_API_DISABLE_HEALTH_CHECK
+ CHROMIUM_ALLOW_FILE_ACCESS_FROM_FILES: $$cap_GOTENBERG_CHROMIUM_ALLOW_FILE_ACCESS_FROM_FILES
+ CHROMIUM_ALLOW_INSECURE_LOCALHOST: $$cap_GOTENBERG_CHROMIUM_ALLOW_INSECURE_LOCALHOST
+ CHROMIUM_ALLOW_LIST: $$cap_GOTENBERG_CHROMIUM_ALLOW_LIST
+ CHROMIUM_DENY_LIST: $$cap_GOTENBERG_CHROMIUM_DENY_LIST
+ CHROMIUM_IGNORE_CERTIFICATE_ERRORS: $$cap_GOTENBERG_CHROMIUM_IGNORE_CERTIFICATE_ERRORS
+ CHROMIUM_DISABLE_WEB_SECURITY: $$cap_GOTENBERG_CHROMIUM_DISABLE_WEB_SECURITY
+ CHROMIUM_INCOGNITO: $$cap_GOTENBERG_CHROMIUM_INCOGNITO
+ CHROMIUM_HOST_RESOLVER_RULES: $$cap_GOTENBERG_CHROMIUM_HOST_RESOLVER_RULES
+ CHROMIUM_PROXY_SERVER: $$cap_GOTENBERG_CHROMIUM_PROXY_SERVER
+ CHROMIUM_DISABLE_JAVASCRIPT: $$cap_GOTENBERG_CHROMIUM_DISABLE_JAVASCRIPT
+ CHROMIUM_DISABLE_ROUTES: $$cap_GOTENBERG_CHROMIUM_DISABLE_ROUTES
+ LIBREOFFICE_DISABLE_ROUTES: $$cap_GOTENBERG_LIBREOFFICE_DISABLE_ROUTES
+ LIBREOFFICE_LISTENER_START_TIMEOUT: $$cap_GOTENBERG_LIBREOFFICE_LISTENER_START_TIMEOUT
+ LIBREOFFICE_LISTENER_RESTART_THRESHOLD: $$cap_GOTENBERG_LIBREOFFICE_LISTENER_RESTART_THRESHOLD
+ PDFENGINES_ENGINES: $$cap_GOTENBERG_PDFENGINES_ENGINES
+ PDFENGINES_DISABLE_ROUTES: $$cap_GOTENBERG_PDFENGINES_DISABLE_ROUTES
+ WEBHOOK_ALLOW_LIST: $$cap_GOTENBERG_WEBHOOK_ALLOW_LIST
+ WEBHOOK_DENY_LIST: $$cap_GOTENBERG_WEBHOOK_DENY_LIST
+ WEBHOOK_ERROR_ALLOW_LIST: $$cap_GOTENBERG_WEBHOOK_ERROR_ALLOW_LIST
+ WEBHOOK_ERROR_DENY_LIST: $$cap_GOTENBERG_WEBHOOK_ERROR_DENY_LIST
+ WEBHOOK_MAX_RETRY: $$cap_GOTENBERG_WEBHOOK_MAX_RETRY
+ WEBHOOK_RETRY_MIN_WAIT: $$cap_GOTENBERG_WEBHOOK_RETRY_MIN_WAIT
+ WEBHOOK_RETRY_MAX_WAIT: $$cap_GOTENBERG_WEBHOOK_RETRY_MAX_WAIT
+ WEBHOOK_CLIENT_TIMEOUT: $$cap_GOTENBERG_WEBHOOK_CLIENT_TIMEOUT
+ WEBHOOK_DISABLE: $$cap_GOTENBERG_WEBHOOK_DISABLE
+ PROMETHEUS_COLLECT_INTERVAL: $$cap_GOTENBERG_PROMETHEUS_COLLECT_INTERVAL
+ PROMETHEUS_NAMESPACE: $$cap_GOTENBERG_PROMETHEUS_NAMESPACE
+ PROMETHEUS_DISABLE_COLLECT: $$cap_GOTENBERG_PROMETHEUS_DISABLE_COLLECT
+ PROMETHEUS_DISABLE_ROUTE_LOGGING: $$cap_GOTENBERG_PROMETHEUS_DISABLE_ROUTE_LOGGING
+ LOG_FORMAT: $$cap_GOTENBERG_LOG_FORMAT
+ LOG_LEVEL: $$cap_GOTENBERG_LOG_LEVEL
+ GRACEFUL_SHUTDOWN_DURATION: $$cap_GOTENBERG_GRACEFUL_SHUTDOWN_DURATION
+
+caproverOneClickApp:
+ displayName: Gotenberg
+ isOfficial: true
+ description: Docker-Powered Stateless API For PDF Files
+ documentation: https://gotenberg.dev/docs/about
+ instructions:
+ start: |-
+ Gotenberg provides a developer-friendly API to interact with powerful tools like Chromium and LibreOffice for converting numerous document formats (HTML, Markdown, Word, Excel, etc.) into PDF files, and more!
+ end: |-
+ Gotenberg has been successfully deployed! It might take few moments before it's fully started.
+ You can access it at `http://$$cap_appname.$$cap_root_domain`
+ If you prefer not to expose it, you can change it in the **HTTP Settings** of `$$cap_appname`.
+ variables:
+ - id: $$cap_GOTENBERG_VERSION
+ label: General | Version
+ description: Check out their valid tags at https://hub.docker.com/r/gotenberg/gotenberg/tags
+ defaultValue: 7
+ validRegex: /.{1,}/
+ - id: $$cap_GOTENBERG_GRACEFUL_SHUTDOWN_DURATION
+ label: General | Graceful Shutdown Duration
+ description: Graceful shutdown duration.
+ defaultValue: '30s'
+ validRegex: /.{1,}/
+ - id: $$cap_GOTENBERG_API_PORT
+ label: API | Port
+ description: Port of Gotenberg.
+ defaultValue: 3000
+ validRegex: /.{1,}/
+ - id: $$cap_GOTENBERG_API_TIMEOUT
+ label: API | Timeout
+ description: Time limit for requests.
+ defaultValue: '30s'
+ validRegex: /.{1,}/
+ - id: $$cap_GOTENBERG_API_ROOT_PATH
+ label: API | Root Path
+ description: Root path of the API for service discovery via URL paths.
+ defaultValue: '/'
+ validRegex: /.{1,}/
+ - id: $$cap_GOTENBERG_API_TRACE_HEADER
+ label: API | Trace Header
+ description: Header name to use for identifying requests.
+ defaultValue: Gotenberg-Trace
+ validRegex: /.{1,}/
+ - id: $$cap_GOTENBERG_API_DISABLE_HEALTH_CHECK
+ label: API | Disable Health Check
+ description: Whether to disable health check logging.
+ defaultValue: 'false'
+ validRegex: /^(true|false)$/
+ - id: $$cap_GOTENBERG_CHROMIUM_ALLOW_FILE_ACCESS_FROM_FILES
+ label: Chromium | Allow File Access From Files
+ description: Whether to allow `file://` URIs to read other `file://` URIs.
+ defaultValue: 'true'
+ validRegex: /^(true|false)$/
+ - id: $$cap_GOTENBERG_CHROMIUM_ALLOW_INSECURE_LOCALHOST
+ label: Chromium | Allow Insecure Localhost
+ description: Whether to ignore TLS/SSL errors on `localhost`.
+ defaultValue: 'true'
+ validRegex: /^(true|false)$/
+ - id: $$cap_GOTENBERG_CHROMIUM_ALLOW_LIST
+ label: Chromium | Allow List
+ description: Allowed URLs for Chromium using a regular expression.
+ - id: $$cap_GOTENBERG_CHROMIUM_DENY_LIST
+ label: Chromium | Deny List
+ description: Denied URLs for Chromium using a regular expression.
+ defaultValue: ^file:///[^tmp].*
+ - id: $$cap_GOTENBERG_CHROMIUM_IGNORE_CERTIFICATE_ERRORS
+ label: Chromium | Ignore Certificate Errors
+ description: Whether to ignore certificate errors.
+ defaultValue: 'true'
+ validRegex: /^(true|false)$/
+ - id: $$cap_GOTENBERG_CHROMIUM_DISABLE_WEB_SECURITY
+ label: Chromium | Disable Web Security
+ description: Whether to not enforce the same-origin policy.
+ defaultValue: 'true'
+ validRegex: /^(true|false)$/
+ - id: $$cap_GOTENBERG_CHROMIUM_INCOGNITO
+ label: Chromium | Incognito Mode
+ description: Whether to start Chromium with incognito mode.
+ defaultValue: 'false'
+ validRegex: /^(true|false)$/
+ - id: $$cap_GOTENBERG_CHROMIUM_HOST_RESOLVER_RULES
+ label: Chromium | Host Resolver Rules
+ description: Custom mappings to the host resolver.
+ - id: $$cap_GOTENBERG_CHROMIUM_PROXY_SERVER
+ label: Chromium | Proxy Server
+ description: Outbound proxy server. This switch only affects HTTP and HTTPS requests.
+ - id: $$cap_GOTENBERG_CHROMIUM_DISABLE_JAVASCRIPT
+ label: Chromium | Disable JavaScript
+ description: Whether to disable JavaScript.
+ defaultValue: 'false'
+ validRegex: /^(true|false)$/
+ - id: $$cap_GOTENBERG_CHROMIUM_DISABLE_ROUTES
+ label: Chromium | Disable Routes
+ description: Whether to disable the routes for Chromium.
+ defaultValue: 'false'
+ validRegex: /^(true|false)$/
+ - id: $$cap_GOTENBERG_LIBREOFFICE_DISABLE_ROUTES
+ label: LibreOffice | Disable Routes
+ description: Whether to disable the routes for LibreOffice.
+ defaultValue: 'false'
+ validRegex: /^(true|false)$/
+ - id: $$cap_GOTENBERG_LIBREOFFICE_LISTENER_START_TIMEOUT
+ label: LibreOffice | Listener Start Timeout
+ description: Time limit for starting the LibreOffice listener.
+ defaultValue: '10s'
+ validRegex: /.{1,}/
+ - id: $$cap_GOTENBERG_LIBREOFFICE_LISTENER_RESTART_THRESHOLD
+ label: LibreOffice | Listener Restart Threshold
+ description: Conversions limit after which the LibreOffice listener is restarted. `0` means no long-running LibreOffice listener.
+ defaultValue: 10
+ validRegex: /.{1,}/
+ - id: $$cap_GOTENBERG_PDFENGINES_ENGINES
+ label: PDF Engines | Engines
+ description: PDF engines and their order (e.g. `pdftk,uno-pdfengine`). Leave blank to use all.
+ - id: $$cap_GOTENBERG_PDFENGINES_DISABLE_ROUTES
+ label: PDF Engines | Disable Routes
+ description: Whether to disable the routes for PDF Engines.
+ defaultValue: 'false'
+ validRegex: /^(true|false)$/
+ - id: $$cap_GOTENBERG_WEBHOOK_ALLOW_LIST
+ label: Webhook | Allow List
+ description: Allowed URLs for the webhook feature using a regular expression.
+ - id: $$cap_GOTENBERG_WEBHOOK_DENY_LIST
+ label: Webhook | Deny List
+ description: Denied URLs for the webhook feature using a regular expression.
+ - id: $$cap_GOTENBERG_WEBHOOK_ERROR_ALLOW_LIST
+ label: Webhook | Error Allow List
+ description: Allowed URLs in case of an error for the webhook feature using a regular expression.
+ - id: $$cap_GOTENBERG_WEBHOOK_ERROR_DENY_LIST
+ label: Webhook | Error Deny List
+ description: Denied URLs in case of an error for the webhook feature using a regular expression.
+ - id: $$cap_GOTENBERG_WEBHOOK_MAX_RETRY
+ label: Webhook | Maximum Retry
+ description: Maximum number of retries for the webhook feature.
+ defaultValue: 4
+ validRegex: /.{1,}/
+ - id: $$cap_GOTENBERG_WEBHOOK_RETRY_MIN_WAIT
+ label: Webhook | Minimum Retry Waiting Time
+ description: Minimum duration to wait before trying to call the webhook again.
+ defaultValue: '1s'
+ validRegex: /.{1,}/
+ - id: $$cap_GOTENBERG_WEBHOOK_RETRY_MAX_WAIT
+ label: Webhook | Maximum Retry Waiting Time
+ description: Maximum duration to wait before trying to call the webhook again.
+ defaultValue: '30s'
+ validRegex: /.{1,}/
+ - id: $$cap_GOTENBERG_WEBHOOK_CLIENT_TIMEOUT
+ label: Webhook | Client Timeout
+ description: Time limit for requests to the webhook.
+ defaultValue: '30s'
+ validRegex: /.{1,}/
+ - id: $$cap_GOTENBERG_WEBHOOK_DISABLE
+ label: Webhook | Disable
+ description: Whether to disable the webhook feature.
+ defaultValue: 'false'
+ validRegex: /^(true|false)$/
+ - id: $$cap_GOTENBERG_PROMETHEUS_COLLECT_INTERVAL
+ label: Prometheus | Collect Interval
+ description: Interval for collecting modules' metrics.
+ defaultValue: '1s'
+ validRegex: /.{1,}/
+ - id: $$cap_GOTENBERG_PROMETHEUS_NAMESPACE
+ label: Prometheus | Namespace
+ description: Namespace of modules' metrics.
+ defaultValue: gotenberg
+ validRegex: /.{1,}/
+ - id: $$cap_GOTENBERG_PROMETHEUS_DISABLE_COLLECT
+ label: Prometheus | Disable Collect
+ description: Whether to disable the collect of metrics.
+ defaultValue: 'false'
+ validRegex: /^(true|false)$/
+ - id: $$cap_GOTENBERG_PROMETHEUS_DISABLE_ROUTE_LOGGING
+ label: Prometheus | Disable Route Logging
+ description: Whether to disable the route logging.
+ defaultValue: 'false'
+ validRegex: /^(true|false)$/
+ - id: $$cap_GOTENBERG_LOG_FORMAT
+ label: Logging | Format
+ description: Log format (`auto`, `json` or `text`)
+ defaultValue: auto
+ validRegex: /.{1,}/
+ - id: $$cap_GOTENBERG_LOG_LEVEL
+ label: Logging | Level
+ description: Log level (`error`, `warn`, `info` or `debug`)
+ defaultValue: info
+ validRegex: /.{1,}/
diff --git a/public/v4/logos/gotenberg.png b/public/v4/logos/gotenberg.png
new file mode 100644
index 0000000..5db2c6f
--- /dev/null
+++ b/public/v4/logos/gotenberg.png
Binary files differ