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 81adecc38a stringify log messages 11 years ago
.gitignore Initial commit 11 years ago
.jshintrc Initial commit 11 years ago
README.md run in a main loop 11 years ago
index.js run in a main loop 11 years ago
package.json stringify log messages 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]
; Optional username and password
username = mein-user
password = secure
; Timeout in ms. Default is 10000
timeout = 1000
; Batch size. Default is 100
limit = 1000

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.