2.1 KiB
couchmagick
Run ImageMagicks convert
on CouchDB documents.
couchmagick runs as an os_daemon, which means that CouchDB manages the process and you can configure it using CouchDBs configuration mechanism, which is both a huge win.
The versions and commandline arguments are defined in design documents under a couchmagick
section.
couchmagicks Stream based implementation provides low memory footprint.
Installation
The installation of couchmagick is dead simple.
Make sure you have ImageMagick
installed, eg on Debian:
apt-get install imagemagick
Install couchmagick via npm:
npm install couchmagick -g
Daemon Configuration
Add couchmagick to os_daemons
config section:
[os_daemons]
couchmagick = couchmagick
Now CouchDB takes care of the couchmagick process.
[couchmagick]
; Optional username and password
username = mein-user
password = secure
; Number of simultanous streams of changes feeds in parallel. Default is 1.
streams = 1
; Concurrency level (number of simultanous convert processes). Default is 1
concurrency = 1
; Timeout for convert process in ms. Default is 60000 (1min)
convert_process_timeout = 60000
; Timeout for changes feed in ms. Default is 10000
changes_feed_timeout = 10000
; Batch size. Default is 100
limit = 100
Imagemagick Configuration
Add a couchmagick
property to a design document. couchmagick will process all
databases which have such a design document.
{
"_id": "_design/my-couchmagick-config",
"_rev": "1-a653b27246b01cf9204fa9f5dee7cc64",
"couchmagick": {
"versions": {
"thumbnail": {
"args": [
"-resize", "x100"
]
}
}
}
}
See couchmagick-stream for available options.
Contributing
Lint your code via npm run jshint
.
License
Copyright (c) 2012-2013 Johannes J. Schmidt, null2 GmbH
Licensed under the MIT license.