I've been a using CartoDB on a self hosted server now for a few months, and I'm trying to get it set up correctly for my needs in a production environment. However I am a newbie when it comes to the ruby/rails and node.js apps.

I've uploaded my shapefile with the data into CartoDB using the web interface (by running the full stack), and it is accessible by Windshaft and the SQL API. I have CartoDB running on a separate server than my public facing webserver, and am only using it to query my data (no updates/changes). I edited my webserver's copy of CartoDB.js to point to my CartoDB server. So while I have my webserver at test1.com, it looks for the image tiles at cartodb.test2.com

I've found if I only start Redis, CartoDB-SQL-API, and Windshaft (and don't start the rails server) my data can be queried and my image tiles are created.

So, my question is if I actually need to run the the rails server at all when I'm in my production environment, or is it better to just run my node.js apps standalone?

Is the rails server only for the CartoDB web interface?

Are there any security issues with running the node.js apps in such a way?

What about performance hits?


It depends of what are you doing. The only thing cartodb needs to run in production from rails server is the viz.json which contains the visualization definition.

If you are not using viz.json you could shutdown rails server and work only with windshaft-cartodb, sql-api, redis and postgres (and optionally varnish)

Not the answer you're looking for? Browse other questions tagged or ask your own question.