-
Notifications
You must be signed in to change notification settings - Fork 5
/
thumbor.conf.tpl
707 lines (509 loc) · 27.1 KB
/
thumbor.conf.tpl
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
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
################################### Logging ####################################
## Logging configuration as json
## Defaults to: None
THUMBOR_LOG_CONFIG = {{ THUMBOR_LOG_CONFIG | default(None) }}
## Log Format to be used by thumbor when writing log messages.
## Defaults to: %(asctime)s %(name)s:%(levelname)s %(message)s
THUMBOR_LOG_FORMAT = '{{ THUMBOR_LOG_FORMAT | default('%(asctime)s %(name)s:%(levelname)s %(message)s') }}'
## Date Format to be used by thumbor when writing log messages.
## Defaults to: %Y-%m-%d %H:%M:%S
THUMBOR_LOG_DATE_FORMAT = '{{ THUMBOR_LOG_DATE_FORMAT | default('%Y-%m-%d %H:%M:%S') }}'
################################################################################
################################### Imaging ####################################
## Max width in pixels for images read or generated by thumbor
## Defaults to: 0
MAX_WIDTH = {{ MAX_WIDTH | default(0) }}
## Max height in pixels for images read or generated by thumbor
## Defaults to: 0
MAX_HEIGHT = {{ MAX_HEIGHT | default(0) }}
## Max pixel count for images read by thumbor. Set to prevent decompression bomb DOS attack.
## Defaults to: 75000000 pixels
MAX_PIXELS = {{ MAX_PIXELS | default(75000000) }}
## Min width in pixels for images read or generated by thumbor
## Defaults to: 1
MIN_WIDTH = {{ MIN_WIDTH | default(1) }}
## Min width in pixels for images read or generated by thumbor
## Defaults to: 1
MIN_HEIGHT = {{ MIN_HEIGHT | default(1) }}
## Allowed domains for the http loader to download. These are regular
## expressions.
## Defaults to: []
ALLOWED_SOURCES = {{ ALLOWED_SOURCES | default([]) }}
## Quality index used for generated JPEG images
## Defaults to: 80
QUALITY = {{ QUALITY | default(80) }}
## Exports JPEG images with the progressive flag set.
## Defaults to: True
PROGRESSIVE_JPEG = {{ PROGRESSIVE_JPEG | default(True) }}
## Specify subsampling behavior for Pillow (see `subsampling` in
## http://pillow.readthedocs.org/en/latest/handbook/image-file-
## formats.html#jpeg).Be careful to use int for 0,1,2 and string for "4:4:4"
## notation. Will ignore `quality`. Using `keep` will copy the original file's
## subsampling.
## Defaults to: None
PILLOW_JPEG_SUBSAMPLING = {{ PILLOW_JPEG_SUBSAMPLING | default(None) }}
## Specify quantization tables for Pillow (see `qtables` in
## http://pillow.readthedocs.org/en/latest/handbook/image-file-
## formats.html#jpeg). Will ignore `quality`. Using `keep` will copy the
## original file's qtables.
## Defaults to: None
PILLOW_JPEG_QTABLES = {{ PILLOW_JPEG_QTABLES | default(None) }}
## Specify resampling filter for Pillow resize method.One of LANCZOS, NEAREST,
## BILINEAR, BICUBIC, HAMMING (Pillow>=3.4.0).
## Defaults to: 'LANCZOS'
PILLOW_RESAMPLING_FILTER = '{{ PILLOW_RESAMPLING_FILTER | default('LANCZOS') }}'
## Quality index used for generated WebP images. If not set (None) the same level
## of JPEG quality will be used.
## Defaults to: None
WEBP_QUALITY = {{ WEBP_QUALITY | default(None) }}
## Compression level for generated PNG images.
## Defaults to: 6
PNG_COMPRESSION_LEVEL = {{ PNG_COMPRESSION_LEVEL | default(6) }}
## Indicates if final image should preserve indexed mode (P or 1) of original
## image
## Defaults to: True
PILLOW_PRESERVE_INDEXED_MODE = {{ PILLOW_PRESERVE_INDEXED_MODE | default(True) }}
## Specifies whether WebP format should be used automatically if the request
## accepts it (via Accept header)
## Defaults to: False
AUTO_WEBP = {{ AUTO_WEBP | default(False) }}
## Specifies whether a PNG image should be used automatically if the png image
## has no transparency (via alpha layer). WARNING: Depending on case, this is
## not a good deal. This transformation maybe causes distortions or the size
## of image can increase. Images with texts, for example, the result image
## maybe will be distorced. Dark images, for example, the size of result image
## maybe will be bigger. You have to evaluate the majority of your use cases
## to take a decision about the usage of this conf.
## Defaults to: False
AUTO_PNG_TO_JPG = {{ AUTO_PNG_TO_JPG | default(False) }}
## Specify the ratio between 1in and 1px for SVG images. This is only used
## whenrasterizing SVG images having their size units in cm or inches.
## Defaults to: 150
SVG_DPI = {{ SVG_DPI | default(150) }}
## Max AGE sent as a header for the image served by thumbor in seconds
## Defaults to: 86400
MAX_AGE = {{ MAX_AGE | default(86400) }}
## Indicates the Max AGE header in seconds for temporary images (images with
## failed smart detection)
## Defaults to: 0
MAX_AGE_TEMP_IMAGE = {{ MAX_AGE_TEMP_IMAGE | default(0) }}
## Indicates whether thumbor should rotate images that have an Orientation EXIF
## header
## Defaults to: False
RESPECT_ORIENTATION = {{ RESPECT_ORIENTATION | default(False) }}
## Ignore errors during smart detections and return image as a temp image (not
## saved in result storage and with MAX_AGE_TEMP_IMAGE age)
## Defaults to: False
IGNORE_SMART_ERRORS = {{ IGNORE_SMART_ERRORS | default(False) }}
## Sends If-Modified-Since & Last-Modified headers; requires support from result
## storage
## Defaults to: False
SEND_IF_MODIFIED_LAST_MODIFIED_HEADERS = {{ SEND_IF_MODIFIED_LAST_MODIFIED_HEADERS | default(False) }}
## Preserves exif information in generated images. Increases image size in
## kbytes, use with caution.
## Defaults to: False
PRESERVE_EXIF_INFO = {{ PRESERVE_EXIF_INFO | default(False) }}
## Indicates whether thumbor should enable the EXPERIMENTAL support for animated
## gifs.
## Defaults to: True
ALLOW_ANIMATED_GIFS = {{ ALLOW_ANIMATED_GIFS | default(True) }}
## Indicates whether thumbor should use gifsicle engine. Please note that smart
## cropping and filters are not supported for gifs using gifsicle (but won't
## give an error).
## Defaults to: False
USE_GIFSICLE_ENGINE = {{ USE_GIFSICLE_ENGINE | default(False) }}
## Indicates whether thumbor should enable blacklist functionality to prevent
## processing certain images.
## Defaults to: False
USE_BLACKLIST = {{ USE_BLACKLIST | default(False) }}
## Size of the thread pool used for image transformations. The default value is
## 0 (don't use a threadpoool. Increase this if you are seeing your IOLoop
## getting blocked (often indicated by your upstream HTTP requests timing out)
## Defaults to: 0
ENGINE_THREADPOOL_SIZE = {{ ENGINE_THREADPOOL_SIZE | default(0) }}
################################################################################
################################ Extensibility #################################
## The metrics backend thumbor should use to measure internal actions. This must
## be the full name of a python module (python must be able to import it)
## Defaults to: 'thumbor.metrics.logger_metrics'
METRICS = '{{ METRICS | default('thumbor.metrics.logger_metrics') }}'
## The loader thumbor should use to load the original image. This must be the
## full name of a python module (python must be able to import it)
## Defaults to: thumbor.loaders.http_loader
LOADER = '{{ LOADER | default('thumbor.loaders.http_loader') }}'
## The file storage thumbor should use to store original images. This must be the
## full name of a python module (python must be able to import it)
## Defaults to: thumbor.storages.file_storage
STORAGE = '{{ STORAGE | default('thumbor.storages.file_storage') }}'
## The result storage thumbor should use to store generated images. This must be
## the full name of a python module (python must be able to import it)
## Defaults to: None
RESULT_STORAGE = '{{ RESULT_STORAGE | default('thumbor.result_storages.file_storage') }}'
## The imaging engine thumbor should use to perform image operations. This must
## be the full name of a python module (python must be able to import it)
## Defaults to: thumbor.engines.pil
ENGINE = '{{ ENGINE | default('thumbor.engines.pil') }}'
## The gif engine thumbor should use to perform image operations. This must be
## the full name of a python module (python must be able to import it)
## Defaults to: 'thumbor.engines.gif'
GIF_ENGINE = '{{ GIF_ENGINE | default('thumbor.engines.gif') }}'
## The url signer thumbor should use to verify url signatures.This must be the
## full name of a python module (python must be able to import it)
## Defaults to: 'libthumbor.url_signers.base64_hmac_sha1'
URL_SIGNER = '{{ URL_SIGNER | default('libthumbor.url_signers.base64_hmac_sha1') }}'
################################################################################
################################### Security ###################################
## The security key thumbor uses to sign image URLs
## Defaults to: MY_SECURE_KEY
SECURITY_KEY = '{{ SECURITY_KEY | default('MY_SECURE_KEY') }}'
## Indicates if the /unsafe URL should be available
## Defaults to: True
ALLOW_UNSAFE_URL = {{ ALLOW_UNSAFE_URL | default(True) }}
################################################################################
##################################### HTTP #####################################
## Enables automatically generated etags
## Defaults to: True
ENABLE_ETAGS = {{ ENABLE_ETAGS | default(True) }}
################################################################################
################################### Storage ####################################
## Set maximum id length for images when stored
## Defaults to: 32
MAX_ID_LENGTH = {{ MAX_ID_LENGTH | default(32) }}
################################################################################
################################# Performance ##################################
## Set garbage collection interval in seconds
## Defaults to: None
GC_INTERVAL = {{ GC_INTERVAL | default(None) }}
################################################################################
################################# Healthcheck ##################################
## Healthcheck route.
## Defaults to: '/healthcheck/?'
HEALTHCHECK_ROUTE = '{{ HEALTHCHECK_ROUTE | default('/healthcheck/?') }}'
################################################################################
################################### Metrics ####################################
## Host to send statsd instrumentation to
## Defaults to: None
STATSD_HOST = {{ STATSD_HOST | default(None) }}
## Port to send statsd instrumentation to
## Defaults to: 8125
STATSD_PORT = {{ STATSD_PORT | default(8125) }}
## Prefix for statsd
## Defaults to: None
STATSD_PREFIX = {{ STATSD_PREFIX | default(None) }}
################################################################################
################################# File Loader ##################################
## The root path where the File Loader will try to find images
## Defaults to: '/usr/local/thumbor'
FILE_LOADER_ROOT_PATH = '{{ FILE_LOADER_ROOT_PATH | default('/usr/local/thumbor/loader') }}'
################################################################################
################################# HTTP Loader ##################################
## The maximum number of seconds libcurl can take to connect to an image being
## loaded
## Defaults to: 5
HTTP_LOADER_CONNECT_TIMEOUT = {{ HTTP_LOADER_CONNECT_TIMEOUT | default(5) }}
## The maximum number of seconds libcurl can take to download an image
## Defaults to: 20
HTTP_LOADER_REQUEST_TIMEOUT = {{ HTTP_LOADER_REQUEST_TIMEOUT | default(20) }}
## Indicates whether libcurl should follow redirects when downloading an image
## Defaults to: True
HTTP_LOADER_FOLLOW_REDIRECTS = {{ HTTP_LOADER_FOLLOW_REDIRECTS | default(True) }}
## Indicates the number of redirects libcurl should follow when downloading an
## image
## Defaults to: 5
HTTP_LOADER_MAX_REDIRECTS = {{ HTTP_LOADER_MAX_REDIRECTS | default(5) }}
## The maximum number of simultaneous HTTP connections the loader can make before
## queuing
## Defaults to: 10
HTTP_LOADER_MAX_CLIENTS = {{ HTTP_LOADER_MAX_CLIENTS | default(10) }}
## Indicates whether thumbor should forward the user agent of the requesting user
## Defaults to: False
HTTP_LOADER_FORWARD_USER_AGENT = {{ HTTP_LOADER_FORWARD_USER_AGENT | default(False) }}
## Indicates whether thumbor should forward the headers of the request
## Defaults to: False
HTTP_LOADER_FORWARD_ALL_HEADERS = {{ HTTP_LOADER_FORWARD_ALL_HEADERS | default(False) }}
## Indicates which headers should be forwarded among all the headers of the
## request
## Defaults to: []
HTTP_LOADER_FORWARD_HEADERS_WHITELIST = {{ HTTP_LOADER_FORWARD_HEADERS_WHITELIST | default([]) }}
## Default user agent for thumbor http loader requests
## Defaults to: Thumbor/7.5.2
HTTP_LOADER_DEFAULT_USER_AGENT = '{{ HTTP_LOADER_DEFAULT_USER_AGENT | default('Thumbor/7.5.2') }}'
## The proxy host needed to load images through
## Defaults to: None
HTTP_LOADER_PROXY_HOST = {{ HTTP_LOADER_PROXY_HOST | default(None) }}
## The proxy port for the proxy host
## Defaults to: None
HTTP_LOADER_PROXY_PORT = {{ HTTP_LOADER_PROXY_PORT | default(None) }}
## The proxy username for the proxy host
## Defaults to: None
HTTP_LOADER_PROXY_USERNAME = {{ HTTP_LOADER_PROXY_USERNAME | default(None) }}
## The proxy password for the proxy host
## Defaults to: None
HTTP_LOADER_PROXY_PASSWORD = {{ HTTP_LOADER_PROXY_PASSWORD | default(None) }}
## The filename of CA certificates in PEM format
## Defaults to: None
HTTP_LOADER_CA_CERTS = {{ HTTP_LOADER_CA_CERTS | default(None) }}
## Validate the servers certificate for HTTPS requests
## Defaults to: None
HTTP_LOADER_VALIDATE_CERTS = {{ HTTP_LOADER_VALIDATE_CERTS | default(None) }}
## The filename for client SSL key
## Defaults to: None
HTTP_LOADER_CLIENT_KEY = {{ HTTP_LOADER_CLIENT_KEY | default(None) }}
## The filename for client SSL certificate
## Defaults to: None
HTTP_LOADER_CLIENT_CERT = {{ HTTP_LOADER_CLIENT_CERT | default(None) }}
## If the CurlAsyncHTTPClient should be used
## Defaults to: False
HTTP_LOADER_CURL_ASYNC_HTTP_CLIENT = {{ HTTP_LOADER_CURL_ASYNC_HTTP_CLIENT | default(False) }}
################################################################################
################################### General ####################################
## If HTTP_LOADER_CURL_LOW_SPEED_LIMIT and HTTP_LOADER_CURL_ASYNC_HTTP_CLIENT are
## set, then this is the time in seconds as integer after a download should
## timeout if the speed is below HTTP_LOADER_CURL_LOW_SPEED_LIMIT for that
## long
## Defaults to: 0
HTTP_LOADER_CURL_LOW_SPEED_TIME = {{ HTTP_LOADER_CURL_LOW_SPEED_TIME | default(0) }}
## If HTTP_LOADER_CURL_LOW_SPEED_TIME and HTTP_LOADER_CURL_ASYNC_HTTP_CLIENT are
## set, then this is the limit in bytes per second as integer which should
## timeout if the speed is below that limit for
## HTTP_LOADER_CURL_LOW_SPEED_TIME seconds
## Defaults to: 0
HTTP_LOADER_CURL_LOW_SPEED_LIMIT = {{ HTTP_LOADER_CURL_LOW_SPEED_LIMIT | default(0) }}
## Custom app class to override ThumborServiceApp. This config value is
## overridden by the -a command-line parameter.
## Defaults to: 'thumbor.app.ThumborServiceApp'
APP_CLASS = '{{ APP_CLASS | default('thumbor.app.ThumborServiceApp') }}'
################################################################################
################################# File Storage #################################
## Expiration in seconds for the images in the File Storage. Defaults to one
## month
## Defaults to: 2592000
STORAGE_EXPIRATION_SECONDS = {{ STORAGE_EXPIRATION_SECONDS | default(2592000) }}
## Indicates whether thumbor should store the signing key for each image in the
## file storage. This allows the key to be changed and old images to still be
## properly found
## Defaults to: False
STORES_CRYPTO_KEY_FOR_EACH_IMAGE = {{ STORES_CRYPTO_KEY_FOR_EACH_IMAGE | default(False) }}
## The root path where the File Storage will try to find images
## Defaults to: /tmp/thumbor/storage
FILE_STORAGE_ROOT_PATH = '{{ FILE_STORAGE_ROOT_PATH | default('/usr/local/thumbor/storage') }}'
################################################################################
#################################### Upload ####################################
## Max size in Kb for images uploaded to thumbor
## Aliases: MAX_SIZE
## Defaults to: 0
UPLOAD_MAX_SIZE = {{ UPLOAD_MAX_SIZE | default(0) }}
## Indicates whether thumbor should enable File uploads
## Aliases: ENABLE_ORIGINAL_PHOTO_UPLOAD
## Defaults to: False
UPLOAD_ENABLED = {{ UPLOAD_ENABLED | default(False) }}
## The type of storage to store uploaded images with
## Aliases: ORIGINAL_PHOTO_STORAGE
## Defaults to: thumbor.storages.file_storage
UPLOAD_PHOTO_STORAGE = '{{ UPLOAD_PHOTO_STORAGE | default('thumbor.storages.file_storage') }}'
## Indicates whether image deletion should be allowed
## Aliases: ALLOW_ORIGINAL_PHOTO_DELETION
## Defaults to: False
UPLOAD_DELETE_ALLOWED = {{ UPLOAD_DELETE_ALLOWED | default(False) }}
## Indicates whether image overwrite should be allowed
## Aliases: ALLOW_ORIGINAL_PHOTO_PUTTING
## Defaults to: False
UPLOAD_PUT_ALLOWED = {{ UPLOAD_PUT_ALLOWED | default(False) }}
## Default filename for image uploaded
## Defaults to: image
UPLOAD_DEFAULT_FILENAME = '{{ UPLOAD_DEFAULT_FILENAME | default('image') }}'
################################################################################
################################# Mixed Storage #################################
## Mixed Storage file storage. This must be the full name of a python module
## (python must be able to import it)
## Defaults to: 'thumbor.storages.no_storage'
MIXED_STORAGE_FILE_STORAGE = '{{ MIXED_STORAGE_FILE_STORAGE | default('thumbor.storages.no_storage') }}'
## Mixed Storage signing key storage. This must be the full name of a python
## module (python must be able to import it)
## Defaults to: 'thumbor.storages.no_storage'
MIXED_STORAGE_CRYPTO_STORAGE = '{{ MIXED_STORAGE_CRYPTO_STORAGE | default('thumbor.storages.no_storage') }}'
## Mixed Storage detector information storage. This must be the full name of a
## python module (python must be able to import it)
## Defaults to: 'thumbor.storages.no_storage'
MIXED_STORAGE_DETECTOR_STORAGE = '{{ MIXED_STORAGE_DETECTOR_STORAGE | default('thumbor.storages.no_storage') }}'
################################################################################
##################################### Meta #####################################
## The callback function name that should be used by the META route for JSONP
## access
## Defaults to: None
META_CALLBACK_NAME = {{ META_CALLBACK_NAME | default(None) }}
################################################################################
################################## Detection ###################################
## List of detectors that thumbor should use to find faces and/or features. All
## of them must be full names of python modules (python must be able to import
## it)
## Defaults to: []
DETECTORS = {{ DETECTORS | default([]) }}
## The cascade file that opencv will use to detect faces
## Defaults to: haarcascade_frontalface_alt.xml
FACE_DETECTOR_CASCADE_FILE = '{{ FACE_DETECTOR_CASCADE_FILE | default('haarcascade_frontalface_alt.xml') }}'
## The cascade file that opencv will use to detect glasses.
## Defaults to: 'haarcascade_eye_tree_eyeglasses.xml'
GLASSES_DETECTOR_CASCADE_FILE = '{{ GLASSES_DETECTOR_CASCADE_FILE | default('haarcascade_eye_tree_eyeglasses.xml') }}'
## The cascade file that opencv will use to detect profile faces.
## Defaults to: 'haarcascade_profileface.xml'
PROFILE_DETECTOR_CASCADE_FILE = '{{ PROFILE_DETECTOR_CASCADE_FILE | default('haarcascade_profileface.xml') }}'
################################################################################
################################## Optimizers ##################################
## List of optimizers that thumbor will use to optimize images
## Defaults to: [] --> ['thumbor.optimizers.jpegtran',]
OPTIMIZERS = {{ OPTIMIZERS | default([]) }}
## Path for the jpegtran binary
## Defaults to: /usr/bin/jpegtran
JPEGTRAN_PATH = '{{ JPEGTRAN_PATH | default('/usr/bin/jpegtran') }}'
## Path for the progressive scans file to use with jpegtran optimizer. Implies
## progressive jpeg output
## Defaults to: ''
JPEGTRAN_SCANS_FILE = '{{ JPEGTRAN_SCANS_FILE | default('') }}'
## Path for the ffmpeg binary used to generate gifv(h.264)
## Defaults to: '/usr/local/bin/ffmpeg'
FFMPEG_PATH = '{{ FFMPEG_PATH | default('/usr/bin/ffmpeg') }}'
################################################################################
################################### Filters ####################################
## List of filters that thumbor will allow to be used in generated images. All of
## them must be full names of python modules (python must be able to import
## it)
## Defaults to: [
# 'thumbor.filters.brightness',
# 'thumbor.filters.colorize',
# 'thumbor.filters.contrast',
# 'thumbor.filters.rgb',
# 'thumbor.filters.round_corner',
# 'thumbor.filters.quality',
# 'thumbor.filters.noise',
# 'thumbor.filters.watermark',
# 'thumbor.filters.equalize',
# 'thumbor.filters.fill',
# 'thumbor.filters.sharpen',
# 'thumbor.filters.strip_exif',
# 'thumbor.filters.strip_icc',
# 'thumbor.filters.frame',
# 'thumbor.filters.grayscale',
# 'thumbor.filters.rotate',
# 'thumbor.filters.format',
# 'thumbor.filters.max_bytes',
# 'thumbor.filters.convolution',
# 'thumbor.filters.blur',
# 'thumbor.filters.extract_focal',
# 'thumbor.filters.focal',
# 'thumbor.filters.no_upscale',
# 'thumbor.filters.saturation',
# 'thumbor.filters.max_age',
# 'thumbor.filters.curve',
# 'thumbor.filters.background_color',
# 'thumbor.filters.upscale',
# 'thumbor.filters.proportion',
# 'thumbor.filters.stretch',
#]
{% if FILTERS is defined %}
FILTERS = {{ FILTERS }}
{% endif %}
################################################################################
################################ Result Storage ################################
## Expiration in seconds of generated images in the result storage
## Defaults to: 0
RESULT_STORAGE_EXPIRATION_SECONDS = {{ RESULT_STORAGE_EXPIRATION_SECONDS | default(0) }}
## Path where the Result storage will store generated images
## Defaults to: /tmp/thumbor/result_storage
RESULT_STORAGE_FILE_STORAGE_ROOT_PATH = '{{ RESULT_STORAGE_FILE_STORAGE_ROOT_PATH | default('/usr/local/thumbor/result_storage') }}'
## Indicates whether unsafe requests should also be stored in the Result Storage
## Defaults to: False
RESULT_STORAGE_STORES_UNSAFE = {{ RESULT_STORAGE_STORES_UNSAFE | default(False) }}
################################################################################
############################ Queued Redis Detector #############################
## Server host for the queued redis detector
## Defaults to: localhost
REDIS_QUEUE_SERVER_HOST = '{{ REDIS_QUEUE_SERVER_HOST | default('localhost') }}'
## Server port for the queued redis detector
## Defaults to: 6379
REDIS_QUEUE_SERVER_PORT = {{ REDIS_QUEUE_SERVER_PORT | default(6379) }}
## Server database index for the queued redis detector
## Defaults to: 0
REDIS_QUEUE_SERVER_DB = {{ REDIS_QUEUE_SERVER_DB | default(0) }}
## Server password for the queued redis detector
## Defaults to: None
REDIS_QUEUE_SERVER_PASSWORD = {{ REDIS_QUEUE_SERVER_PASSWORD | default(None) }}
################################################################################
############################# Queued SQS Detector ##############################
## AWS key id
## Defaults to: None
SQS_QUEUE_KEY_ID = {{ SQS_QUEUE_KEY_ID | default(None) }}
## AWS key secret
## Defaults to: None
SQS_QUEUE_KEY_SECRET = {{ SQS_QUEUE_KEY_SECRET | default(None) }}
## AWS SQS region
## Defaults to: us-east-1
SQS_QUEUE_REGION = '{{ SQS_QUEUE_REGION | default('us-east-1') }}'
################################################################################
#################################### Errors ####################################
## This configuration indicates whether thumbor should use a custom error
## handler.
## Defaults to: False
USE_CUSTOM_ERROR_HANDLING = {{ USE_CUSTOM_ERROR_HANDLING | default(False) }}
## Error reporting module. Needs to contain a class called ErrorHandler with a
## handle_error(context, handler, exception) method.
## Defaults to: thumbor.error_handlers.sentry
ERROR_HANDLER_MODULE = '{{ ERROR_HANDLER_MODULE | default('thumbor.error_handlers.sentry') }}'
## File of error log as json
## Defaults to: None
ERROR_FILE_LOGGER = {{ ERROR_FILE_LOGGER | default(None) }}
## File of error log name is parametrized with context attribute
## Defaults to: False
ERROR_FILE_NAME_USE_CONTEXT = {{ ERROR_FILE_NAME_USE_CONTEXT | default('False') }}
################################################################################
############################### Errors - Sentry ################################
## Sentry thumbor project dsn. i.e.: http://5a63d58ae7b94f1dab3dee740b301d6a:73ee
## a45d3e8649239a973087e8f21f98@localhost:9000/2
## Defaults to:
SENTRY_DSN_URL = '{{ SENTRY_DSN_URL | default('') }}'
## Sentry environment i.e.: staging
## Defaults to: None
SENTRY_ENVIRONMENT = {{ SENTRY_ENVIRONMENT | default(None) }}
################################################################################
################################### General ####################################
## Custom app class to override ThumborServiceApp. This config value is
## overridden by the -a command-line parameter.
## Defaults to: 'thumbor.app.ThumborServiceApp'
APP_CLASS = '{{ APP_CLASS | default('thumbor.app.ThumborServiceApp') }}'
################################################################################
#################################### Server ####################################
## The amount of time to wait before shutting down the server, i.e. stop
## accepting requests.
## Defaults to: 0
MAX_WAIT_SECONDS_BEFORE_SERVER_SHUTDOWN = {{ MAX_WAIT_SECONDS_BEFORE_SERVER_SHUTDOWN | default(0) }}
## The amount of time to waut before shutting down all io, after the server has
## been stopped
## Defaults to: 0
MAX_WAIT_SECONDS_BEFORE_IO_SHUTDOWN = {{ MAX_WAIT_SECONDS_BEFORE_IO_SHUTDOWN | default(0) }}
################################################################################
################################# HandlerLists #################################
## Handler Lists are responsible for adding new handlers to thumbor app.
## Defaults to: [
# 'thumbor.handler_lists.healthcheck',
# 'thumbor.handler_lists.upload',
# 'thumbor.handler_lists.blacklist',
#]
HANDLER_LISTS = {{ HANDLER_LISTS | default(['thumbor.handler_lists.healthcheck', 'thumbor.handler_lists.upload', 'thumbor.handler_lists.blacklist']) }}
################################################################################
################################# Compatibility #################################
## Loader that will be used with the compatibility layer, instead of the
## compatibility loader. Please only use this if you can't use up-to-date
## loaders.
## Defaults to: None
COMPATIBILITY_LEGACY_LOADER = {{ COMPATIBILITY_LEGACY_LOADER | default(None) }}
## Storage that will be used with the compatibility layer, instead of the
## compatibility storage. Please only use this if you can't use up-to-date
## storages.
## Defaults to: None
COMPATIBILITY_LEGACY_STORAGE = {{ COMPATIBILITY_LEGACY_STORAGE | default(None) }}
## Result Storage that will be used with the compatibility layer, instead of the
## compatibility result storage. Please only use this if you can't use up-to-
## date result storages.
## Defaults to: None
COMPATIBILITY_LEGACY_STORAGE = {{ COMPATIBILITY_LEGACY_STORAGE | default(None) }}
################################################################################