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,}/