Couchmagick runs ImageMagicks convert on CouchDB documents. Reliable.
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
Johannes J. Schmidt d06cf8383d Limit and Timeout configurable
Closes #1 and #2
11 years ago
.gitignore Initial commit 11 years ago
.jshintrc Initial commit 11 years ago
README.md Limit and Timeout configurable 11 years ago
index.js Limit and Timeout configurable 11 years ago
package.json Limit and Timeout configurable 11 years ago

README.md

couchmagick

Run ImageMagicks convert on CouchDB documents.

Installation

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]
user = mein-user  ; optional
password = secure ; optional
timeout = 10000   ; in ms. Default is 1000
limit = 1000      ; batch size. Default is 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": {
    "filter": "function(doc) { return doc.type === 'post'; }",
    "versions": {
      "thumbnail": {
        "filter": "function(doc, name) { return doc.display && doc.display.indexOf('overview') > -1; }",
        "format": "jpg",
        "id": "{id}/thumbnail",
        "name": "{basename}-thumbnail.jpg",
        "args": [
          "-",
          "-resize", "x100",
          "-quality", "75",
          "-colorspace", "sRGB",
          "-strip",
          "jpg:-"
        ]
      }
    }
  }
}

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.