You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@couchdb.apache.org by Ryan Ramage <ry...@gmail.com> on 2013/01/25 18:17:17 UTC

Node + Couch

Hey all, there are many out there who use couchdb + node together. And a
lot are excited about Jason Smith's (and others) work using node as a view
server. I say the more options the better!

I just wanted to let others know of another experiment of mixing node and
with couch. It's called gardener and the repo is here:

https://github.com/garden20/gardener

The premise is based around keeping a node module bundled with a design doc
(or a couchapp).
Why? Maybe your ddoc map/reduces twitter feeds and you want to have node
fetch and store from twitter. Lots of imaginary scenarios.

The gardener is a node process watches a couch, looking for design docs
with a node module attached. Finding one, it will simple npm install it,
spawn a forever process, and pass it the db url to connect to.

Optionally, it can be used to route http requests through couch (via
externals) to the node process.

The idea here is to build reusable backend node processes that work well
with couch, or a mechanism to distribute slightly more powerful couchapps.
And this all works with couch today.

So you know it is fairly young, so warnings apply. But it is in the process
of being used in a real product.

Feedback welcome.

Ryan

Re: Node + Couch

Posted by Stephen Bartell <sn...@gmail.com>.
+1 Im stoked about this.  At my day job we've done something similar, and its been a game changer in what/how we deploy for customers.  I hope to see the garden grow ;)
On Feb 28, 2013, at 2:28 PM, Ryan Ramage <ry...@gmail.com> wrote:

> It will work on both. The idea is you can run the node processes anywhere
> you want.
> 
> The gardener has an optional http proxy thing to your node process, which
> probably wont work with cloudant or iriscouch because they have disabled
> the couch_httpd_proxy setting.
> 
> 
> 
> On Thu, Feb 28, 2013 at 3:14 PM, Lance Carlson <la...@gmail.com>wrote:
> 
>> This is very cool indeed. Do you know if this will work on cloudant or
>> iris? Or are you supposed to run node on a remote server like on
>> Heroku?
>> 
>> Sent from my iPhone
>> 
>> On Feb 28, 2013, at 4:05 PM, Noah Slater <ns...@apache.org> wrote:
>> 
>>> Hey, this sounds really cool Ryan!
>>> 
>>> 
>>> On 25 January 2013 17:17, Ryan Ramage <ry...@gmail.com> wrote:
>>> 
>>>> Hey all, there are many out there who use couchdb + node together. And a
>>>> lot are excited about Jason Smith's (and others) work using node as a
>> view
>>>> server. I say the more options the better!
>>>> 
>>>> I just wanted to let others know of another experiment of mixing node
>> and
>>>> with couch. It's called gardener and the repo is here:
>>>> 
>>>> https://github.com/garden20/gardener
>>>> 
>>>> The premise is based around keeping a node module bundled with a design
>> doc
>>>> (or a couchapp).
>>>> Why? Maybe your ddoc map/reduces twitter feeds and you want to have node
>>>> fetch and store from twitter. Lots of imaginary scenarios.
>>>> 
>>>> The gardener is a node process watches a couch, looking for design docs
>>>> with a node module attached. Finding one, it will simple npm install it,
>>>> spawn a forever process, and pass it the db url to connect to.
>>>> 
>>>> Optionally, it can be used to route http requests through couch (via
>>>> externals) to the node process.
>>>> 
>>>> The idea here is to build reusable backend node processes that work well
>>>> with couch, or a mechanism to distribute slightly more powerful
>> couchapps.
>>>> And this all works with couch today.
>>>> 
>>>> So you know it is fairly young, so warnings apply. But it is in the
>> process
>>>> of being used in a real product.
>>>> 
>>>> Feedback welcome.
>>>> 
>>>> Ryan
>>> 
>>> 
>>> 
>>> --
>>> NS
>> 


Re: Node + Couch

Posted by Ryan Ramage <ry...@gmail.com>.
It will work on both. The idea is you can run the node processes anywhere
you want.

The gardener has an optional http proxy thing to your node process, which
probably wont work with cloudant or iriscouch because they have disabled
the couch_httpd_proxy setting.



On Thu, Feb 28, 2013 at 3:14 PM, Lance Carlson <la...@gmail.com>wrote:

> This is very cool indeed. Do you know if this will work on cloudant or
> iris? Or are you supposed to run node on a remote server like on
> Heroku?
>
> Sent from my iPhone
>
> On Feb 28, 2013, at 4:05 PM, Noah Slater <ns...@apache.org> wrote:
>
> > Hey, this sounds really cool Ryan!
> >
> >
> > On 25 January 2013 17:17, Ryan Ramage <ry...@gmail.com> wrote:
> >
> >> Hey all, there are many out there who use couchdb + node together. And a
> >> lot are excited about Jason Smith's (and others) work using node as a
> view
> >> server. I say the more options the better!
> >>
> >> I just wanted to let others know of another experiment of mixing node
> and
> >> with couch. It's called gardener and the repo is here:
> >>
> >> https://github.com/garden20/gardener
> >>
> >> The premise is based around keeping a node module bundled with a design
> doc
> >> (or a couchapp).
> >> Why? Maybe your ddoc map/reduces twitter feeds and you want to have node
> >> fetch and store from twitter. Lots of imaginary scenarios.
> >>
> >> The gardener is a node process watches a couch, looking for design docs
> >> with a node module attached. Finding one, it will simple npm install it,
> >> spawn a forever process, and pass it the db url to connect to.
> >>
> >> Optionally, it can be used to route http requests through couch (via
> >> externals) to the node process.
> >>
> >> The idea here is to build reusable backend node processes that work well
> >> with couch, or a mechanism to distribute slightly more powerful
> couchapps.
> >> And this all works with couch today.
> >>
> >> So you know it is fairly young, so warnings apply. But it is in the
> process
> >> of being used in a real product.
> >>
> >> Feedback welcome.
> >>
> >> Ryan
> >
> >
> >
> > --
> > NS
>

Re: Node + Couch

Posted by Lance Carlson <la...@gmail.com>.
This is very cool indeed. Do you know if this will work on cloudant or
iris? Or are you supposed to run node on a remote server like on
Heroku?

Sent from my iPhone

On Feb 28, 2013, at 4:05 PM, Noah Slater <ns...@apache.org> wrote:

> Hey, this sounds really cool Ryan!
>
>
> On 25 January 2013 17:17, Ryan Ramage <ry...@gmail.com> wrote:
>
>> Hey all, there are many out there who use couchdb + node together. And a
>> lot are excited about Jason Smith's (and others) work using node as a view
>> server. I say the more options the better!
>>
>> I just wanted to let others know of another experiment of mixing node and
>> with couch. It's called gardener and the repo is here:
>>
>> https://github.com/garden20/gardener
>>
>> The premise is based around keeping a node module bundled with a design doc
>> (or a couchapp).
>> Why? Maybe your ddoc map/reduces twitter feeds and you want to have node
>> fetch and store from twitter. Lots of imaginary scenarios.
>>
>> The gardener is a node process watches a couch, looking for design docs
>> with a node module attached. Finding one, it will simple npm install it,
>> spawn a forever process, and pass it the db url to connect to.
>>
>> Optionally, it can be used to route http requests through couch (via
>> externals) to the node process.
>>
>> The idea here is to build reusable backend node processes that work well
>> with couch, or a mechanism to distribute slightly more powerful couchapps.
>> And this all works with couch today.
>>
>> So you know it is fairly young, so warnings apply. But it is in the process
>> of being used in a real product.
>>
>> Feedback welcome.
>>
>> Ryan
>
>
>
> --
> NS

Re: Node + Couch

Posted by Ryan Ramage <ry...@gmail.com>.
Thanks.

Also, It's almost ready to work with the hoodie workers that jan and others
have been doing. Soon (as purely and example), when you have a gardener
watching your couch, you should be able to have a ddoc with this

{
    node_modules: "worker-img-process,worker-warm-views@2.30"
}

and gardener will get them from npm, install, run them (using the popular
forever package), and pass in the database info to the node process.

Now for those interested, you can help pitch in by making small reusable
node modules that work with couch.



On Thu, Feb 28, 2013 at 2:05 PM, Noah Slater <ns...@apache.org> wrote:

> Hey, this sounds really cool Ryan!
>
>
> On 25 January 2013 17:17, Ryan Ramage <ry...@gmail.com> wrote:
>
> > Hey all, there are many out there who use couchdb + node together. And a
> > lot are excited about Jason Smith's (and others) work using node as a
> view
> > server. I say the more options the better!
> >
> > I just wanted to let others know of another experiment of mixing node and
> > with couch. It's called gardener and the repo is here:
> >
> > https://github.com/garden20/gardener
> >
> > The premise is based around keeping a node module bundled with a design
> doc
> > (or a couchapp).
> > Why? Maybe your ddoc map/reduces twitter feeds and you want to have node
> > fetch and store from twitter. Lots of imaginary scenarios.
> >
> > The gardener is a node process watches a couch, looking for design docs
> > with a node module attached. Finding one, it will simple npm install it,
> > spawn a forever process, and pass it the db url to connect to.
> >
> > Optionally, it can be used to route http requests through couch (via
> > externals) to the node process.
> >
> > The idea here is to build reusable backend node processes that work well
> > with couch, or a mechanism to distribute slightly more powerful
> couchapps.
> > And this all works with couch today.
> >
> > So you know it is fairly young, so warnings apply. But it is in the
> process
> > of being used in a real product.
> >
> > Feedback welcome.
> >
> > Ryan
> >
>
>
>
> --
> NS
>

Re: Node + Couch

Posted by Noah Slater <ns...@apache.org>.
Hey, this sounds really cool Ryan!


On 25 January 2013 17:17, Ryan Ramage <ry...@gmail.com> wrote:

> Hey all, there are many out there who use couchdb + node together. And a
> lot are excited about Jason Smith's (and others) work using node as a view
> server. I say the more options the better!
>
> I just wanted to let others know of another experiment of mixing node and
> with couch. It's called gardener and the repo is here:
>
> https://github.com/garden20/gardener
>
> The premise is based around keeping a node module bundled with a design doc
> (or a couchapp).
> Why? Maybe your ddoc map/reduces twitter feeds and you want to have node
> fetch and store from twitter. Lots of imaginary scenarios.
>
> The gardener is a node process watches a couch, looking for design docs
> with a node module attached. Finding one, it will simple npm install it,
> spawn a forever process, and pass it the db url to connect to.
>
> Optionally, it can be used to route http requests through couch (via
> externals) to the node process.
>
> The idea here is to build reusable backend node processes that work well
> with couch, or a mechanism to distribute slightly more powerful couchapps.
> And this all works with couch today.
>
> So you know it is fairly young, so warnings apply. But it is in the process
> of being used in a real product.
>
> Feedback welcome.
>
> Ryan
>



-- 
NS

Re: Node + Couch

Posted by Noah Slater <ns...@apache.org>.
Nice!


On 1 March 2013 17:06, Алекс Zatvornitskiy <a....@gmail.com>wrote:

> Building a Real-time SMS Voting App Part 3: Scaling Node.js and CouchDB
>
> http://www.twilio.com/blog/2013/01/building-a-real-time-sms-voting-app-part-3-scaling-node-js-and-couchdb.html
>
>
> On Fri, Mar 1, 2013 at 11:40 AM, Johannes J. Schmidt
> <sc...@netzmerk.com>wrote:
>
> > Thats awesome shit! Thanks!
> > On 01/25/2013 06:17 PM, Ryan Ramage wrote:
> > > Hey all, there are many out there who use couchdb + node together. And
> a
> > > lot are excited about Jason Smith's (and others) work using node as a
> > view
> > > server. I say the more options the better!
> > >
> > > I just wanted to let others know of another experiment of mixing node
> and
> > > with couch. It's called gardener and the repo is here:
> > >
> > > https://github.com/garden20/gardener
> > >
> > > The premise is based around keeping a node module bundled with a design
> > doc
> > > (or a couchapp).
> > > Why? Maybe your ddoc map/reduces twitter feeds and you want to have
> node
> > > fetch and store from twitter. Lots of imaginary scenarios.
> > >
> > > The gardener is a node process watches a couch, looking for design docs
> > > with a node module attached. Finding one, it will simple npm install
> it,
> > > spawn a forever process, and pass it the db url to connect to.
> > >
> > > Optionally, it can be used to route http requests through couch (via
> > > externals) to the node process.
> > >
> > > The idea here is to build reusable backend node processes that work
> well
> > > with couch, or a mechanism to distribute slightly more powerful
> > couchapps.
> > > And this all works with couch today.
> > >
> > > So you know it is fairly young, so warnings apply. But it is in the
> > process
> > > of being used in a real product.
> > >
> > > Feedback welcome.
> > >
> > > Ryan
> > >
> >
> >
>



-- 
NS

Re: Node + Couch

Posted by Алекс Zatvornitskiy <a....@gmail.com>.
Building a Real-time SMS Voting App Part 3: Scaling Node.js and CouchDB
http://www.twilio.com/blog/2013/01/building-a-real-time-sms-voting-app-part-3-scaling-node-js-and-couchdb.html


On Fri, Mar 1, 2013 at 11:40 AM, Johannes J. Schmidt
<sc...@netzmerk.com>wrote:

> Thats awesome shit! Thanks!
> On 01/25/2013 06:17 PM, Ryan Ramage wrote:
> > Hey all, there are many out there who use couchdb + node together. And a
> > lot are excited about Jason Smith's (and others) work using node as a
> view
> > server. I say the more options the better!
> >
> > I just wanted to let others know of another experiment of mixing node and
> > with couch. It's called gardener and the repo is here:
> >
> > https://github.com/garden20/gardener
> >
> > The premise is based around keeping a node module bundled with a design
> doc
> > (or a couchapp).
> > Why? Maybe your ddoc map/reduces twitter feeds and you want to have node
> > fetch and store from twitter. Lots of imaginary scenarios.
> >
> > The gardener is a node process watches a couch, looking for design docs
> > with a node module attached. Finding one, it will simple npm install it,
> > spawn a forever process, and pass it the db url to connect to.
> >
> > Optionally, it can be used to route http requests through couch (via
> > externals) to the node process.
> >
> > The idea here is to build reusable backend node processes that work well
> > with couch, or a mechanism to distribute slightly more powerful
> couchapps.
> > And this all works with couch today.
> >
> > So you know it is fairly young, so warnings apply. But it is in the
> process
> > of being used in a real product.
> >
> > Feedback welcome.
> >
> > Ryan
> >
>
>

Re: Node + Couch

Posted by "Johannes J. Schmidt" <sc...@netzmerk.com>.
Thats awesome shit! Thanks!
On 01/25/2013 06:17 PM, Ryan Ramage wrote:
> Hey all, there are many out there who use couchdb + node together. And a
> lot are excited about Jason Smith's (and others) work using node as a view
> server. I say the more options the better!
>
> I just wanted to let others know of another experiment of mixing node and
> with couch. It's called gardener and the repo is here:
>
> https://github.com/garden20/gardener
>
> The premise is based around keeping a node module bundled with a design doc
> (or a couchapp).
> Why? Maybe your ddoc map/reduces twitter feeds and you want to have node
> fetch and store from twitter. Lots of imaginary scenarios.
>
> The gardener is a node process watches a couch, looking for design docs
> with a node module attached. Finding one, it will simple npm install it,
> spawn a forever process, and pass it the db url to connect to.
>
> Optionally, it can be used to route http requests through couch (via
> externals) to the node process.
>
> The idea here is to build reusable backend node processes that work well
> with couch, or a mechanism to distribute slightly more powerful couchapps.
> And this all works with couch today.
>
> So you know it is fairly young, so warnings apply. But it is in the process
> of being used in a real product.
>
> Feedback welcome.
>
> Ryan
>