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örg Schmidt f21726f4c8 Update README.md 10 years ago
.gitignore Initial commit 11 years ago
.jshintrc Initial commit 11 years ago
README.md Update README.md 10 years ago
index.js fix config 10 years ago
package.json fix couchmagick-stream versaion interpolation 10 years ago

README.md

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.