summaryrefslogtreecommitdiffhomepage
path: root/public/v4/apps/gotenberg.yml
blob: 787ed997ad9e892829becc95fb34e72e0cd6dede (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
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,}/