File: plugins.rst

package info (click to toggle)
thumbor 7.7.7-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 40,528 kB
  • sloc: xml: 295,435; python: 18,668; ansic: 1,479; makefile: 360; sh: 27
file content (274 lines) | stat: -rw-r--r-- 10,462 bytes parent folder | download
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
Plugins
=======

With its pluggable architecture, thumbor provides extension points for a
myriad of plug-in: storages, loaders, detectors, filters.

If your plug-in is not listed here, please create an issue with the
details and we'll add it here.

Storages
--------

`thumbor\_aws <https://github.com/thumbor-community/aws>`__ (by `Thumbor Community <https://github.com/thumbor-community>`__)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

`Thumbor <https://github.com/thumbor/thumbor/wiki>`__ is a smart
imaging service. It enables on-demand crop, resizing and flipping of
images.

`AWS <https://aws.amazon.com/>`__ is a cloud service, providing - among other things - storage capabilities.

This module provides support for AWS S3 interconnection, as a loader, a storage and/or a result storage.

-  *URL:* https://github.com/thumbor-community/aws
-  *Installing:* ``pip install tc_aws``

To get exhaustive details about configuration options & setting it up, go to the `documentation of the plugin <https://github.com/thumbor-community>`__.

`thumbor\_hbase <https://github.com/dhardy92/thumbor_hbase>`__ (by `Damien Hardy <https://github.com/dhardy92>`__)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

`Thumbor <https://github.com/thumbor/thumbor/wiki>`__ is a smart
imaging service. It enables on-demand crop, resizing and flipping of
images.

`Hbase <https://hbase.apache.org/>`__ is a column oriented database from
the hadoop ecosystem.

This module provide support for Hadoop Hbase as large auto replicant
key/value backend storage for images in Thumbor.

-  *URL:* https://github.com/dhardy92/thumbor\_hbase
-  *Installing:* ``pip install thumbor_hbase``

Using it is simple, just change your configuration in thumbor.conf:

::

    HBASE_STORAGE_SERVER_HOST = "localhost"
    HBASE_STORAGE_SERVER_PORT = 9000
    HBASE_STORAGE_TABLE = "storage-table"
    HBASE_STORAGE_FAMILY = "storage-family"

If you want to use thumbor\_hbase for loading original images, change
your thumbor.conf to read:

::

    LOADER = "thumbor_hbase.loader"

If you want to use thumbor\_hbase for storage of original images, change
your thumbor.conf to read:

::

    STORAGE = "thumbor_hbase.storage"

`thumbor\_mongodb <https://github.com/dhardy92/thumbor_mongodb>`__ (by `Damien Hardy <https://github.com/dhardy92>`__)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

`Thumbor <https://github.com/thumbor/thumbor/wiki>`__ is a smart
imaging service. It enables on-demand crop, resizing and flipping of
images.

`MongoDB <http://www.mongodb.org/>`__ is a document oriented NoSQL
database.

This plugin for Thumbor is a loader that can reach images from a mongodb
collection based on its Object(\_id).

-  *URL:* https://github.com/dhardy92/thumbor\_mongodb
-  *Installing:* ``pip install thumbor_mongodb``

Using it is simple, just change your configuration in thumbor.conf:

::

    LOADER = 'thumbor_mongodb.loader'
    MONGO_LOADER_CNX_STRING = 'mongodb://mongodbserver01,mongodbserver02:27017'
    MONGO_LOADER_SERVER_DB = 'thumbor'
    MONGO_LOADER_SERVER_COLLECTION = 'images'
    MONGO_LOADER_DOC_FIELD = 'content'

`thumbor\_riak <https://github.com/dhardy92/thumbor_riak>`__ (by `Damien Hardy <https://github.com/dhardy92>`__)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

`Riak <http://basho.com/riak/>`__ is a distributed document oriented
database implementing the consistent hashing algorithm from the Dynanmo
publication by Amazon.

This module provide support for Riak as a large auto replicant key/value
backend storage for images in Thumbor.

-  *URL:* https://github.com/dhardy92/thumbor\_riak
-  *Installing:* ``pip install thumbor_riak`` (require thumbor)

Using it is simple, just change your configuration in thumbor.conf:

::

    # Use riak for storage.
    STORAGE = 'thumbor_riak.storage'

    # Put the url for your riak install here
    RIAK_STORAGE_BASEURL = "http://my-riak-install-base-url"

`thumbor\_rackspace <https://github.com/CodingNinja/thumbor_rackspace>`__ (by `David Mann <https://github.com/CodingNinja>`__)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This plugin allows users to store objects in the Rackspace cloud for
result storage.

-  *URL:* https://github.com/CodingNinja/thumbor\_rackspace
-  *Installing:* ``pip install thumbor_rackspace``

Using it is simple, just change your configuration in thumbor.conf:

::

    # Use rackspace for result storage.
    # For more info on result storage: https://github.com/thumbor/thumbor/wiki/Result-storage
    RESULT_STORAGE = 'thumbor_rackspace.result_storages.cloudfile_storage'

    # Pyrax Rackspace configuration file location
    RACKSPACE_PYRAX_CFG = /var/thumbor/.pyrax.cfg

    # Result Storage options
    RACKSPACE_RESULT_STORAGE_EXPIRES = True # Set TTL on cloudfile objects
    RACKSPACE_RESULT_STORAGES_CONTAINER = "cloudfile-container-name"
    RACKSPACE_RESULT_STORAGES_CONTAINER_ROOT = "/"

`thumbor\_ceph <https://github.com/ksperis/thumbor_ceph>`__ (by `Laurent Barbe <https://github.com/ksperis>`__)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

`Ceph <https://ceph.com/>`__ a distributed object store designed to
provide excellent performance, reliability and scalability.

This module provide support for Ceph RADOS as backend storage for
images.

-  *URL:* https://github.com/ksperis/thumbor\_ceph
-  *Installing:*
   ``apt-get install python-ceph && pip install thumbor_ceph``

Configuration in thumbor.conf:

::

    ################################# File Storage #################################
    STORAGE = 'thumbor_ceph.storages.ceph_storage'
    CEPH_STORAGE_POOL = 'thumbor'

    #################################### Upload ####################################
    UPLOAD_PHOTO_STORAGE = 'thumbor_ceph.storages.ceph_storage'

    ################################ Result Storage ################################
    RESULT_STORAGE = 'thumbor_ceph.result_storages.ceph_storage'
    CEPH_RESULT_STORAGE_POOL = 'thumbor'

For monitors and keys, the values ​​used are those defined in the
configuration file ceph.conf.


`thumbor\_spaces <https://github.com/siddhartham/thumbor_spaces>`__ (by `Siddhartha Mukherjee <https://github.com/siddhartham>`__)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This plugin allows users to store objects in the DigitalOcean Spaces for
result storage.

-  *URL:* https://github.com/siddhartham/thumbor_spaces
-  *Installing:* ``pip install thumbor_spaces``

Using it is simple, just change your configuration in thumbor.conf:

::

    # Use DigitalOcean Spaces for result storage.
    # For more info on result storage: https://github.com/thumbor/thumbor/wiki/Result-storage
    RESULT_STORAGE = 'thumbor_spaces.result_storages.spaces_storage'

    SPACES_REGION='xxx'

    SPACES_ENDPOINT='xxx'

    SPACES_KEY='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'

    SPACES_SECRET='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'

    SPACES_BUCKET='your-bucket-name'

Metrics
--------

`thumbor\_prometheus <https://github.com/thumbor-community/prometheus>`__ (by `Simon Effenberg <https://github.com/savar>`__)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

`Prometheus <https://prometheus.io/>`__ a monitoring and alerting toolkit.

This module provide support for Prometheus as metrics collector.

-  *URL:* https://github.com/thumbor-community/prometheus
-  *Installing:*
   ``pip install tc_prometheus``

Configuration in thumbor.conf:

::

    ################################# Extensibility #################################
    METRICS = 'tc_prometheus.metrics.prometheus_metrics'

    # optional with defaults
    PROMETHEUS_SCRAPE_PORT = 8000 # Port the prometheus client should listen on

Extensions
----------

`thumbor\shortener <https://github.com/thumbor-community/shortener>`__ (by `Thumbor Community <https://github.com/thumbor-community>`__)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

`Thumbor <https://github.com/thumbor/thumbor/wiki>`__ is a smart
imaging service. It enables on-demand crop, resizing and flipping of
images.

This module provides URL shortening capabilities for Thumbor. It will create an API that can shorten a thumbor URL, and then routing capabilities to reroute the shortened URL to the correct image.

The shortened URL / real URL mapping is stored within redis.

-  *URL:* https://github.com/thumbor-community/shortener
-  *Installing:* ``pip install tc_shortener``

To get exhaustive details about configuration options & setting it up, go to the `documentation of the plugin <http://thumbor-shortener.readthedocs.io/en/latest/>`__.

Engines
-------

`thumbor-video-engine <https://github.com/theatlantic/thumbor-video-engine>`__ (by `The Atlantic <https://github.com/theatlantic>`__)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This engine extends thumbor so that it can read, crop, and transcode
audio-less video files using FFmpeg. It supports input and output of animated
GIF, animated WebP, WebM (VP9) video, and MP4 (H.264 and H.265).

-  *URL:* https://github.com/theatlantic/thumbor-video-engine
-  *Installing:* ``pip install thumbor-video-engine``

Configuration in thumbor.conf:

::

    ENGINE = 'thumbor_video_engine.engines.video'
    FILTERS = [
        # Enables transcoding between video formats (in addition to the image
        # formats already supported by thumbor.filters.format)
        'thumbor_video_engine.filters.format',
        # Allows outputting a still frame from a video as an image
        'thumbor_video_engine.filters.still',
    ]

    # optional, if you are already using a custom image engine
    IMAGING_ENGINE = 'opencv_engine'

For a full list of configuration options and filters, read
`the project's documentation <https://thumbor-video-engine.readthedocs.io/>`__.